소스 검색

fix v-on patching for cloned slot nodes (fix #3556)

Evan You 9 년 전
부모
커밋
32971d8588
1개의 변경된 파일9개의 추가작업 그리고 7개의 파일을 삭제
  1. 9 7
      src/core/vdom/helpers.js

+ 9 - 7
src/core/vdom/helpers.js

@@ -104,13 +104,15 @@ export function updateListeners (
         }
         add(event, cur.invoker, capture)
       }
-    } else if (Array.isArray(old)) {
-      old.length = cur.length
-      for (let i = 0; i < old.length; i++) old[i] = cur[i]
-      on[name] = old
-    } else {
-      old.fn = cur
-      on[name] = old
+    } else if (cur !== old) {
+      if (Array.isArray(old)) {
+        old.length = cur.length
+        for (let i = 0; i < old.length; i++) old[i] = cur[i]
+        on[name] = old
+      } else {
+        old.fn = cur
+        on[name] = old
+      }
     }
   }
   for (name in oldOn) {