Răsfoiți Sursa

fix: multiple merged vnode hooks not invoked properly

fix #6076
Evan You 9 ani în urmă
părinte
comite
91deb4fd91
1 a modificat fișierele cu 3 adăugiri și 2 ștergeri
  1. 3 2
      src/core/vdom/helpers/update-listeners.js

+ 3 - 2
src/core/vdom/helpers/update-listeners.js

@@ -27,8 +27,9 @@ export function createFnInvoker (fns: Function | Array<Function>): Function {
   function invoker () {
     const fns = invoker.fns
     if (Array.isArray(fns)) {
-      for (let i = 0; i < fns.length; i++) {
-        fns[i].apply(null, arguments)
+      const cloned = fns.slice()
+      for (let i = 0; i < cloned.length; i++) {
+        cloned[i].apply(null, arguments)
       }
     } else {
       // return handler return value for single handlers