Ve Vue často dochází ke změnám dat, ale pohled nelze aktualizovat, proto jsem shrnul několik takových situací:
1. Pro pole procházené pomocí v-for, když obsah pole používá arr[0].xx =xx ke změně dat, vue jej nemůže detekovatZměny dat v poli: Používáme některé metody pro manipulaci s poli a při změně dat některé metody Vue nemůže monitorovat, zatímco jiné ano
Vue obaluje několik funkcí operací polí a pole, která jsou těmito metodami manipulována, budou monitorována Vue, když se jejich data změní:
push() pop() shift() unshift() splice() sort() reverse() vue2.0 také přidává metodu pro pozorování Vue.set(items, indexOfItem, newValue) filter(), concat(), slice() 。 Tyto nemění původní pole, ale vždy vrátí nové pole. Při použití metody bez mutací můžete staré pole nahradit novým
Vue nemůže detekovat pole, která mění následující:
(1) Když nastavíte položku přímo s indexem, vm.items[indexOfItem] = newValue (2) Když upravíte délku pole, například: vm.items.length = newLength Bez dalšího otálení nahrajte kód a přiložte vizualizace:
Výše uvedené jsou dvě řešení pro pole, u kterých Vue nedokáže detekovat změny dat Změňte metodu add() ve svém kódu na
Poznámky k aktualizaci seznamu:Přihlášení k hypertextovému odkazu je viditelné.Detekce aktualizace pole Hluboký ponor do principů responzivity:Přihlášení k hypertextovému odkazu je viditelné.
|