Evan You 11 лет назад
Родитель
Сommit
d1dfa40b8b
1 измененных файлов с 8 добавлено и 7 удалено
  1. 8 7
      src/observe/observer.js

+ 8 - 7
src/observe/observer.js

@@ -233,20 +233,21 @@ p.convert = function (key, val) {
  */
 
 p.propagate = function (event, path, val, mutation) {
-  this.emit(event, path, val, mutation)
+  if (this._cbs) {
+    this.emit(event, path, val, mutation)
+  }
   var parents = this.parents
   if (!parents) {
     return
   }
-  var parent, key, parentPath
+  if (path) {
+    path = Observer.pathDelimiter + path
+  }
   var i = parents.length
+  var parent
   while (i--) {
     parent = parents[i]
-    key = parent.key
-    parentPath = path
-      ? key + Observer.pathDelimiter + path
-      : key
-    parent.ob.propagate(event, parentPath, val, mutation)
+    parent.ob.propagate(event, parent.key + path, val, mutation)
   }
 }