Pārlūkot izejas kodu

perf( runtime-core): use `apply` to avoid spreading. (#5985)

zhangenming 1 gadu atpakaļ
vecāks
revīzija
bb6babca8f

+ 2 - 4
packages/runtime-core/src/compat/global.ts

@@ -622,11 +622,9 @@ function defineReactive(obj: any, key: string, val: any) {
   if (isObject(val) && !isReactive(val) && !patched.has(val)) {
     const reactiveVal = reactive(val)
     if (isArray(val)) {
-      methodsToPatch.forEach(m => {
-        // @ts-expect-error
+      methodsToPatch.forEach((m: any) => {
         val[m] = (...args: any[]) => {
-          // @ts-expect-error
-          Array.prototype[m].call(reactiveVal, ...args)
+          Array.prototype[m].apply(reactiveVal, args)
         }
       })
     } else {

+ 1 - 1
packages/runtime-core/src/compat/instanceEventEmitter.ts

@@ -53,7 +53,7 @@ export function once(
 ): ComponentPublicInstance | null {
   const wrapped = (...args: any[]) => {
     off(instance, event, wrapped)
-    fn.call(instance.proxy, ...args)
+    fn.apply(instance.proxy, args)
   }
   wrapped.fn = fn
   on(instance, event, wrapped)