Ми часто стикаємося зі змінами даних у Vue, але вигляд не можна оновити, тому я підсумував кілька таких ситуацій:
1. Для масиву, який проходить v-for, коли вміст масиву використовує arr[0].xx =xx для зміни даних, vue не може його виявитиЗміни даних масивів: Ми використовуємо деякі методи для маніпуляції масивами, і при зміні даних деякі методи не можуть бути відстежені Vue, тоді як інші можуть
Vue обгортає кілька функцій роботи масиву, і масиви, які обробляються цими методами, будуть моніторитися Vue при зміні їхніх даних:
Push() pop() shift() unshift() сплайс() sort() реверс() vue2.0 також додає метод спостереження Vue.set(items, indexOfItem, newValue) filter(), concat(), slice() 。 Вони не змінюють оригінальний масив, але завжди повертають новий масив. При використанні методу без мутацій можна замінити старий масив на новий
Vue не може виявити масиви, які змінюють наступне:
(1) Коли ви встановлюєте елемент безпосередньо з індексом, vm.items[indexOfItem] = newValue (2) Коли ви змінюєте довжину масиву, наприклад: vm.items.length = newLength Без зайвих слів завантажте код і додайте рендери:
Вищенаведено два рішення для масивів, які Vue не може виявити зміни даних Змініть метод add() у вашому коді на
Нотатки щодо оновлення списку:Вхід за гіперпосиланням видно.Виявлення оновлення масиву Глибоке занурення в принципи адаптації:Вхід за гіперпосиланням видно.
|