فهرست منبع

avoid traversing frozen objects in deep watch (close #3147)

Evan You 10 سال پیش
والد
کامیت
f3e2a12e5f
1فایلهای تغییر یافته به همراه1 افزوده شده و 1 حذف شده
  1. 1 1
      src/watcher.js

+ 1 - 1
src/watcher.js

@@ -343,7 +343,7 @@ function traverse (val, seen) {
   }
   }
   const isA = isArray(val)
   const isA = isArray(val)
   const isO = isObject(val)
   const isO = isObject(val)
-  if (isA || isO) {
+  if ((isA || isO) && Object.isExtensible(val)) {
     if (val.__ob__) {
     if (val.__ob__) {
       var depId = val.__ob__.dep.id
       var depId = val.__ob__.dep.id
       if (seen.has(depId)) {
       if (seen.has(depId)) {