Vo Vue sa často stretávame so zmenami dát, ale pohľad sa nedá aktualizovať, preto som zhrnul niekoľko takýchto situácií:
1. Pre pole prechádzané pomocou v-for, keď obsah poľa používa arr[0].xx =xx na zmenu dát, vue ho nedokáže detegovaťZmeny dát v poliach: Používame niektoré metódy na manipuláciu s poliami a pri zmene dát niektoré metódy Vue nedokáže monitorovať, zatiaľ čo iné áno
Vue obaluje niekoľko funkcií operácií polí a polia, ktoré sa manipulujú týmito metódami, budú monitorované Vue, keď sa ich dáta zmenia:
push() pop() shift() unshift() splice() sort() reverse() vue2.0 tiež pridáva metódu na pozorovanie Vue.set(items, indexOfItem, newValue) filter(), concat(), slice() 。 Tieto nemenia pôvodné pole, ale vždy vracajú nové pole. Pri použití metódy bez mutácií môžete staré pole nahradiť novým
Vue nedokáže detegovať polia, ktoré menia nasledovné:
(1) Keď nastavíte položku priamo s indexom, vm.items[indexOfItem] = newValue (2) Keď upravíte dĺžku poľa, napríklad: vm.items.length = newLength Bez ďalších rečí, nahrajte kód a pripojte vizualizácie:
Vyššie uvedené sú dve riešenia pre polia, pri ktorých Vue nedokáže detekovať zmeny dát Zmeňte metódu add() vo vašom kóde na
Poznámky k aktualizácii zoznamu:Prihlásenie na hypertextový odkaz je viditeľné.Detekcia aktualizácie poľa Hlboký ponor do princípov responzívnosti:Prihlásenie na hypertextový odkaz je viditeľné.
|