Kami sering menemukan perubahan data di Vue, tetapi tampilan tidak dapat diperbarui, jadi saya telah merangkum beberapa situasi seperti itu:
1. Untuk array yang dilalui oleh v-for, ketika konten array menggunakan arr[0].xx =xx untuk mengubah data, vue tidak dapat mendeteksinyaPerubahan data array: Kami menggunakan beberapa metode untuk memanipulasi array, dan saat mengubah data, beberapa metode tidak dapat dipantau oleh Vue, sementara yang lain dapat
Vue membungkus beberapa fungsi operasi array, dan array yang dimanipulasi menggunakan metode ini akan dipantau oleh Vue ketika datanya berubah:
dorong () pop() shift() unshift() sambatan () sort() membalikkan() vue2.0 juga menambahkan metode untuk mengamati Vue.set(items, indexOfItem, newValue) filter(), concat(), irisan() 。 Ini tidak mengubah array asli, tetapi selalu mengembalikan array baru. Saat menggunakan metode non-mutasi, Anda dapat mengganti array lama dengan yang baru
Vue tidak dapat mendeteksi array yang mengubah hal berikut:
(1) Saat Anda mengatur item secara langsung dengan indeks, vm.items[indexOfItem] = newValue (2) Saat Anda memodifikasi panjang array, misalnya: vm.items.length = newLength Tanpa basa-basi lagi, unggah kode dan lampirkan rendering:
Di atas adalah dua solusi untuk array yang tidak dapat dideteksi oleh Vue perubahan data Ubah metode add() dalam kode Anda menjadi
Catatan pembaruan daftar:Login hyperlink terlihat.Deteksi pembaruan array Selami Prinsip Responsif Secara Mendalam:Login hyperlink terlihat.
|