We komen vaak datawijzigingen tegen in Vue, maar de weergave kan niet worden bijgewerkt, dus ik heb een paar van zulke situaties samengevat:
1. Voor de array die door v-for wordt doorlopen, kan vue deze niet detecteren wanneer de array-inhoud arr[0].xx =xx gebruikt om de data te wijzigenWijzigingen in arraygegevens: We gebruiken enkele methoden om arrays te manipuleren, en bij het wijzigen van data kunnen sommige methoden niet door Vue worden gemonitord, terwijl andere dat wel kunnen
Vue omhult verschillende array-operatiefuncties, en de arrays die met deze methoden worden gemanipuleerd, worden door Vue gemonitord wanneer hun gegevens veranderen:
push() pop() shift() Unshift() splice() sort() reverse() vue2.0 voegt ook een methode toe om Vue.set (items, indexOfItem, newValue) te observeren. filter(), concat(), slice() 。 Deze veranderen de oorspronkelijke array niet, maar geven altijd een nieuwe array terug. Bij het gebruik van een niet-mutatiemethode kun je de oude array vervangen door een nieuwe
Vue kan arrays niet detecteren die het volgende veranderen:
(1) Wanneer je een item direct met een index instelt, geldt vm.items[indexOfItem] = newValue (2) Wanneer je de lengte van de array aanpast, bijvoorbeeld: vm.items.length = newLength Zonder verder oponthoud, upload de code en voeg de renderings toe:
Bovenstaande zijn twee oplossingen voor arrays waarbij Vue geen datawijzigingen kan detecteren Verander de add()-methode in je code naar
Notities bij lijstupdate:De hyperlink-login is zichtbaar.Detectie van array-updates Diepgaande kennis van responsieve principes:De hyperlink-login is zichtbaar.
|