Vue'da sık sık veri değişiklikleriyle karşılaşıyoruz, ancak görünüm güncellenemiyor, bu yüzden birkaç durumu özetledim:
1. v-for ile geçilen dizi için, dizi içeriği veriyi değiştirmek için arr[0].xx =xx kullandığında, vue bunu tespit edemezDizi veri değişiklikleri: Bazı yöntemleri dizileri manipüle etmek için kullanıyoruz ve veri değiştirilirken bazı yöntemler Vue tarafından izlenemezken, bazıları izlenemezken, bazıları izlenebiliyor
Vue, birkaç dizi işlem fonksiyonunu sarar ve bu yöntemlerle manipüle edilen diziler, verileri değiştiğinde Vue tarafından izlenir:
push() pop() shift() unshift() birleştirme() sort() tersine() vue2.0 ayrıca Vue.set(items, indexOfItem, newValue) gözlemlemek için bir yöntem ekliyor filter(), concat(), slice() 。 Bunlar orijinal diziyi değiştirmez, ancak her zaman yeni bir dizi döndürür. Mutasyon olmayan bir yöntem kullanıldığında, eski diziyi yenisiyle değiştirebilirsiniz
Vue, aşağıdaki dizileri değiştiren dizileri tespit edemez:
(1) Bir öğeyi doğrudan bir indeksle ayarladığınızda, vm.items[indexOfItem] = newValue (2) Dizinin uzunluğunu değiştirdiğinizde, örneğin: vm.items.length = newLength Daha fazla uzatmadan, kodu yükleyin ve renderleri ekleyin:
Yukarıdakiler, Vue'nun veri değişikliklerini tespit edemediği diziler için iki çözümdür Kodunuzdaki add() yöntemini şu şekilde değiştirin
Liste güncelleme notları:Bağlantı girişi görünür.Dizi güncelleme algısı Duyarlı İlkelere Derinlemesine Dalış:Bağlantı girişi görünür.
|