Dalam 2.0.0-rc.1, sebuah konstruksi seperti
<p>Count: {{$refs.components && $refs.components.length}}</p>
<sub-component v-for="item in items" ref="components">
tidak berfungsi lagi (hitungan tetap pada nilai awal, bahkan jika items
dan dengan demikian jumlah komponen diubah). Di v1, array $refs akan diperbarui secara reaktif.
Saya tidak yakin apakah ini bug atau fitur, tetapi #2873 sepertinya tidak menyebutkannya.
Ini dimaksudkan - alasannya adalah $refs
sekarang terdaftar/diperbarui selama proses render itu sendiri. Tidak disarankan untuk mengandalkan $refs
dalam template karena hanya ditujukan untuk akses terprogram dalam JavaScript.
Saya telah memperbarui #2873 untuk menyertakan ini.
@yyx990803 apakah ini berarti bahwa menggunakan this.$refs.*
di properti computed
juga akan berhenti bekerja di v2 atau hanya digunakan di template? Apakah saya harus menyelesaikan semua ini dengan acara khusus?
Saat ini saya meneruskan hasil validasi dari anak-anak ke orang tua seperti ini.
Anda dapat menggunakan this.$forceUpdate()
dan setTimeout
untuk merender tampilan saat Anda memperbarui data dan menemukan bahwa $refs
tidak diperbarui secara reaktif.
this.fetchSomeShit()
.then((data) => {
this.data = data
setTimeout(() => {
this.$forceUpdate()
})
})
gunakan setTimeout
untuk memastikan data telah diberikan dalam apa yang mereka katakan di vue taskqueue
Komentar yang paling membantu
@yyx990803 apakah ini berarti bahwa menggunakan
this.$refs.*
di properticomputed
juga akan berhenti bekerja di v2 atau hanya digunakan di template? Apakah saya harus menyelesaikan semua ini dengan acara khusus?Saat ini saya meneruskan hasil validasi dari anak-anak ke orang tua seperti ini.