Browse Source

fix non-propagating set events triggering parent array change

Evan You 12 năm trước cách đây
mục cha
commit
e1229da4f6
1 tập tin đã thay đổi với 2 bổ sung1 xóa
  1. 2 1
      src/observer.js

+ 2 - 1
src/observer.js

@@ -167,7 +167,8 @@ function convert (obj) {
     if (obj.__emitter__) return true
     if (obj.__emitter__) return true
     var emitter = new Emitter()
     var emitter = new Emitter()
     def(obj, '__emitter__', emitter)
     def(obj, '__emitter__', emitter)
-    emitter.on('set', function () {
+    emitter.on('set', function (key, val, propagate) {
+        if (!propagate) return
         var owners = obj.__emitter__.owners,
         var owners = obj.__emitter__.owners,
             i = owners.length
             i = owners.length
         while (i--) {
         while (i--) {