Explorar o código

initialize all paramAttribute fields in data (#830)

Evan You %!s(int64=11) %!d(string=hai) anos
pai
achega
46812bd210
Modificáronse 1 ficheiros con 13 adicións e 2 borrados
  1. 13 2
      src/instance/scope.js

+ 13 - 2
src/instance/scope.js

@@ -24,9 +24,20 @@ exports._initScope = function () {
 exports._initData = function () {
   // proxy data on instance
   var data = this._data
+  var i, key
+  // make sure all paramAttributes properties are observed
+  var params = this.$options.paramAttributes
+  if (params) {
+    i = params.length
+    while (i--) {
+      key = _.camelize(params[i])
+      if (!(key in data)) {
+        data[key] = null
+      }
+    }
+  }
   var keys = Object.keys(data)
-  var i = keys.length
-  var key
+  i = keys.length
   while (i--) {
     key = keys[i]
     if (!_.isReserved(key)) {