Vi opplever ofte dataendringer i Vue, men visningen kan ikke oppdateres, så jeg har oppsummert noen slike situasjoner:
1. For arrayet som v-for traverserer, når arrayinnholdet bruker arr[0].xx =xx for å endre dataene, kan ikke vue oppdage detEndringer i arraydata: Vi bruker noen metoder for å manipulere arrays, og når data endres, kan ikke noen metoder overvåkes av Vue, mens andre kan
Vue pakker inn flere arrayoperasjonsfunksjoner, og arrayene som manipuleres med disse metodene vil bli overvåket av Vue når dataene deres endres:
push() pop() shift() unshift() splice() sort() reverse() vue2.0 legger også til en metode for å observere Vue.set(items, indexOfItem, newValue) filter(), concat(), slice() 。 Disse endrer ikke det opprinnelige arrayet, men returnerer alltid et nytt array. Når du bruker en ikke-mutasjonsmetode, kan du erstatte det gamle arrayet med et nytt
Vue kan ikke oppdage matriser som endrer følgende:
(1) Når du setter et element direkte med en indeks, er vm.items[indexOfItem] = newValue (2) Når du endrer lengden på arrayet, for eksempel: vm.items.length = newLength Uten videre, last opp koden og legg ved gjengivelsene:
Ovenstående er to løsninger for arrays som Vue ikke kan oppdage dataendringer Endre add()-metoden i koden din til
Notater om oppdatering av listen:Innloggingen med hyperkoblingen er synlig.Deteksjon av array-oppdateringer Dypdykk i responsive prinsipper:Innloggingen med hyperkoblingen er synlig.
|