Vi stöter ofta på dataförändringar i Vue, men vyn kan inte uppdateras, så jag har sammanfattat några sådana situationer:
1. För arrayen som v-for genomsöker, när arrayinnehållet använder arr[0].xx =xx för att ändra datan, kan vue inte upptäcka detÄndringar i arraydata: Vi använder vissa metoder för att manipulera arrayer, och när man ändrar data kan vissa metoder inte övervakas av Vue, medan andra kan
Vue omsluter flera arrayoperationer, och de arrayer som manipuleras med dessa metoder kommer att övervakas av Vue när deras data ändras:
tryck() pop() shift() unshift() splicing() sort() reverse() vue2.0 lägger också till en metod för att observera Vue.set(items, indexOfItem, newValue) filter(), concat(), slice() 。 Dessa ändrar inte den ursprungliga arrayen, men returnerar alltid en ny array. När du använder en icke-mutationsmetod kan du ersätta den gamla matrisen med en ny
Vue kan inte upptäcka arrayer som ändrar följande:
(1) När du sätter en post direkt med ett index är vm.items[indexOfItem] = newValue (2) När du ändrar längden på arrayen, till exempel: vm.items.length = newLength Utan vidare dröjsmål, ladda upp koden och bifoga renderingarna:
Ovan är två lösningar för arrayer där Vue inte kan upptäcka dataförändringar Ändra add()-metoden i din kod till
Listuppdateringsanteckningar:Inloggningen med hyperlänken är synlig.Upptäckt av arrayuppdateringar Djupdykning i responsiva principer:Inloggningen med hyperlänken är synlig.
|