Mes dažnai susiduriame su duomenų pokyčiais Vue, tačiau rodinio negalima atnaujinti, todėl apibendrinau keletą tokių situacijų:
1. Masyvui, kurį kerta v-for, kai masyvo turinys naudoja arr[0].xx =xx duomenims pakeisti, vue negali jo aptiktiMasyvo duomenų pakeitimai: Manipuliuodami masyvais naudojame kai kuriuos metodus, o keičiant duomenis kai kurių metodų negalima stebėti Vue, o kitų
"Vue" apvynioja kelias masyvo veikimo funkcijas, o masyvus, kuriais manipuliuojama naudojant šiuos metodus, "Vue" stebės, kai pasikeis jų duomenys:
stumti () pop() shift() unshift() sujungimas() rūšiuoti() reverse() vue2.0 taip pat prideda metodą, skirtą stebėti Vue.set(items, indexOfItem, newValue) filter(), concat(), slice() 。 Jie nekeičia pradinio masyvo, bet visada grąžina naują masyvą. Naudodami nemutacijos metodą, seną masyvą galite pakeisti nauju
"Vue" negali aptikti masyvų, kurie keičiasi:
(1) Kai nustatote elementą tiesiogiai su indeksu, vm.items[indexOfItem] = newValue (2) Kai keičiate masyvo ilgį, pvz.: vm.items.length = newLength Nieko nelaukdami įkelkite kodą ir pridėkite atvaizdus:
Aukščiau pateikti du masyvų sprendimai, kurių "Vue" negali aptikti duomenų pokyčių Pakeiskite add() metodą kode į
Sąrašo atnaujinimo pastabos:Hipersaito prisijungimas matomas.Masyvo naujinimo aptikimas Giliai pasinerkite į reagavimo principus:Hipersaito prisijungimas matomas.
|