В 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() в вашем коде на
Заметки по обновлению списка:Вход по гиперссылке виден.Обнаружение обновления массива Глубокое погружение в принципы адаптивности:Вход по гиперссылке виден.
|