Bladeren bron

fix #448 v-attr should remove attribute when value === false

Evan You 11 jaren geleden
bovenliggende
commit
d831a43bb3
2 gewijzigde bestanden met toevoegingen van 5 en 1 verwijderingen
  1. 1 1
      src/directives/attr.js
  2. 4 0
      test/unit/specs/directives/attr_spec.js

+ 1 - 1
src/directives/attr.js

@@ -16,7 +16,7 @@ module.exports = {
 }
 
 function defaultHandler (value) {
-  if (value != null) {
+  if (value || value === 0) {
     this.el.setAttribute(this.arg, value)
   } else {
     this.el.removeAttribute(this.arg)

+ 4 - 0
test/unit/specs/directives/attr_spec.js

@@ -22,6 +22,10 @@ if (_.inBrowser) {
       expect(el.getAttribute('test')).toBe('again')
       dir.update(null)
       expect(el.hasAttribute('test')).toBe(false)
+      dir.update(false)
+      expect(el.hasAttribute('test')).toBe(false)
+      dir.update(0)
+      expect(el.getAttribute('test')).toBe('0')
     })
 
     it('xlink', function () {