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

Observer: only walk object if it is plain

Evan You 10 лет назад
Родитель
Сommit
d4d61ef43f
2 измененных файлов с 3 добавлено и 2 удалено
  1. 1 1
      src/observer/index.js
  2. 2 1
      src/util/lang.js

+ 1 - 1
src/observer/index.js

@@ -25,7 +25,7 @@ function Observer (value) {
       : copyAugment
     augment(value, arrayMethods, arrayKeys)
     this.observeArray(value)
-  } else {
+  } else if (_.isPlainObject(value)) {
     this.walk(value)
   }
 }

+ 2 - 1
src/util/lang.js

@@ -191,8 +191,9 @@ exports.isObject = function (obj) {
  */
 
 var toString = Object.prototype.toString
+var OBJECT_STRING = '[object Object]'
 exports.isPlainObject = function (obj) {
-  return toString.call(obj) === '[object Object]'
+  return toString.call(obj) === OBJECT_STRING
 }
 
 /**