Просмотр исходного кода

#136 default value fix for paramAttributes

Evan You 12 лет назад
Родитель
Сommit
db82b0ffb4
2 измененных файлов с 6 добавлено и 2 удалено
  1. 3 1
      src/compiler.js
  2. 3 1
      test/unit/specs/api.js

+ 3 - 1
src/compiler.js

@@ -94,7 +94,9 @@ function Compiler (vm, options) {
     if (options.paramAttributes) {
         options.paramAttributes.forEach(function (attr) {
             var val = el.getAttribute(attr)
-            vm[attr] = isNaN(val) ? val : Number(val)
+            vm[attr] = (isNaN(val) || val === null)
+                ? val
+                : Number(val)
         })
     }
 

+ 3 - 1
test/unit/specs/api.js

@@ -608,13 +608,15 @@ describe('UNIT: API', function () {
                     var Test = Vue.extend({
                         template: '<div a="1" b="hello"></div>',
                         replace: true,
-                        paramAttributes: ['a', 'b']
+                        paramAttributes: ['a', 'b', 'c']
                     })
                     var v = new Test()
                     assert.strictEqual(v.a, 1)
                     assert.strictEqual(v.$data.a, 1)
                     assert.strictEqual(v.b, 'hello')
                     assert.strictEqual(v.$data.b, 'hello')
+                    assert.strictEqual(v.c, null)
+                    assert.strictEqual(v.$data.c, null)
                 })
 
             })