في 2.0.0-rc.1 ، بناء مثل
<p>Count: {{$refs.components && $refs.components.length}}</p>
<sub-component v-for="item in items" ref="components">
لا يعمل بعد الآن (يبقى العدد عند القيمة الأولية ، حتى إذا كان items
وبالتالي تم تغيير عدد المكونات). في الإصدار 1 ، سيتم تحديث المصفوفات المكونة من $ ref بشكل تفاعلي.
لست متأكدًا مما إذا كان هذا خطأ أم ميزة ، ولكن يبدو أن # 2873 لا يذكرها.
هذا مقصود - السبب هو أن $refs
تم تسجيله / تحديثه الآن أثناء عملية التقديم نفسها. لا يوصى بالاعتماد على قوالب $refs
حيث إنها مخصصة فقط للوصول الآلي في JavaScript.
لقد قمت بتحديث # 2873 لتضمين هذا.
@ yyx990803 هل يعني هذا أن استخدام خصائص this.$refs.*
في computed
سيتوقف أيضًا عن العمل في الإصدار 2 أم أنه مجرد استخدام في القوالب؟ هل يجب علي حل كل هذا باستخدام أحداث مخصصة؟
أقوم حاليًا بتمرير نتائج التحقق من صحة الأطفال إلى الوالد مثل هذا.
يمكنك استخدام this.$forceUpdate()
و setTimeout
لإعادة عرض العرض عندما تقوم بتحديث البيانات وتجد أن $refs
لا يتم تحديثه بشكل تفاعلي.
this.fetchSomeShit()
.then((data) => {
this.data = data
setTimeout(() => {
this.$forceUpdate()
})
})
استخدم setTimeout
للتأكد من أن البيانات قد أعطيت في ما يقولون في قائمة مهام vue
التعليق الأكثر فائدة
@ yyx990803 هل يعني هذا أن استخدام خصائص
this.$refs.*
فيcomputed
سيتوقف أيضًا عن العمل في الإصدار 2 أم أنه مجرد استخدام في القوالب؟ هل يجب علي حل كل هذا باستخدام أحداث مخصصة؟أقوم حاليًا بتمرير نتائج التحقق من صحة الأطفال إلى الوالد مثل هذا.