[2.x] v-bind not removing attributes with falsy values when another attribute with `.prop` modifier appears first #4432

Closed
JosephusPaye opened this Issue Dec 10, 2016 · 1 comment

Projects

None yet

2 participants

@JosephusPaye

Howdy!

It seems like v-bind is not removing attributes with falsy values when another attribute with the .prop modifier appears first in the element's list of attributes. More details in the comments of the fiddle.

Vue.js version

2.x (Tested with 2.1.3 and 2.1.4)

Reproduction Link

http://jsfiddle.net/JosephusPaye/df4Lnuw6/78/

Steps to reproduce

  1. Run the fiddle
  2. Inspect the rendered elements using devtools to see the problem described

What is Expected?

v-bind should remove attributes whose values are falsy (false, null, undefined) regardless of the presence of other attributes and the .prop modifier.

What is actually happening?

Attributes with falsy values are not removed when another attribute with the .prop modifier appears first. Instead, these attributes are rendered with the string "false", "null" or "undefined" as their value.

@posva posva added 2.x bug labels Dec 10, 2016
@yyx990803 yyx990803 closed this in #4435 Dec 11, 2016
@yyx990803 yyx990803 added a commit that referenced this issue Dec 11, 2016
@defcc @yyx990803 defcc + yyx990803 fix v-bind.prop parse (fix #4432) (#4435)
* reset isProp value

* add test case

* update test case

* fix typo
183bd43
@JosephusPaye

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment