Vue: رفع vnode - تحذير الحلقة اللانهائية

تم إنشاؤها على ١٥ سبتمبر ٢٠١٧  ·  3تعليقات  ·  مصدر: vuejs/vue

إصدار

2.4.4

رابط الاستنساخ

http://jsfiddle.net/vjvMp/2019/

خطوات التكاثر

التخطيط الدقيق للمكونات موجود في JSFiddle. يعتبر تجميع المكونات هشًا للغاية لسبب ما مما يجعلني أعتقد أن هذا خطأ. على سبيل المثال ، إذا قمت بإزالة أهم مكون layout والذي لا يجب أن يؤثر على الكود ، فإن التحذير يختفي: http://jsfiddle.net/vjvMp/2020/

ما هو متوقع؟

لرفع الفتحة الموجودة على الطفل إلى الوالد ورفعه فوق الطفل دون مشكلة.

ما الذي يحدث بالفعل؟

يتم عرض الطفل ولكن هناك تحذير من حلقة تحديث لا نهائية.

التعليق الأكثر فائدة

  • أنت تعيد واجهة برمجة التطبيقات من data ، وهذا يجعل الكائن بينما api تفاعليًا
  • عندما تقوم بتعيين vnodes في API الذي يجعل Vue يحاول تحويل vnode
  • في 2.4.3 يتم الآن استنساخ عقد الفتحة بعمق عند إعادة التقديم لإصلاح بعض الأخطاء ، وهذا يجعل وظيفة العرض تسجل vnode بالكامل لتكون تبعية تفاعلية ، لذا فإن تحوير vnode يؤدي إلى إعادة تصيير.

في الوقت الحالي ، يمكن أن يكون الحل الخاص بك إما Object.freeze vnode أو لا يجعل حقن api تفاعليًا.

ال 3 كومينتر

كان الرمز يعمل في v2.4.2 ؛ يبدو أنه تم تقديمه في v2.4.3.

  • أنت تعيد واجهة برمجة التطبيقات من data ، وهذا يجعل الكائن بينما api تفاعليًا
  • عندما تقوم بتعيين vnodes في API الذي يجعل Vue يحاول تحويل vnode
  • في 2.4.3 يتم الآن استنساخ عقد الفتحة بعمق عند إعادة التقديم لإصلاح بعض الأخطاء ، وهذا يجعل وظيفة العرض تسجل vnode بالكامل لتكون تبعية تفاعلية ، لذا فإن تحوير vnode يؤدي إلى إعادة تصيير.

في الوقت الحالي ، يمكن أن يكون الحل الخاص بك إما Object.freeze vnode أو لا يجعل حقن api تفاعليًا.

الإصلاح يعمل بشكل رائع! شكرا @ yyx990803

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات