Nous rencontrons souvent des changements de données dans Vue, mais la vue ne peut pas être mise à jour, j’ai donc résumé quelques-unes de ces situations :
1. Pour le tableau parcouru par v-for, lorsque le contenu du tableau utilise arr[0].xx =xx pour modifier les données, Vue ne peut pas le détecterModifications des données des tableaux : Nous utilisons certaines méthodes pour manipuler les tableaux, et lors de modifications de données, certaines méthodes ne peuvent pas être surveillées par Vue, tandis que d’autres le peuvent
Vue encapsule plusieurs fonctions d’opération de tableau, et les tableaux manipulés à l’aide de ces méthodes seront surveillés par Vue lorsque leurs données changent :
push() pop() Shift() unshift() splice() sort() inverse() vue2.0 ajoute également une méthode pour observer Vue.set (items, indexOfItem, newValue) filter(), concat(), slice() 。 Celles-ci ne modifient pas le tableau d’origine, mais renvoient toujours un nouveau tableau. En utilisant une méthode non-mutation, vous pouvez remplacer l’ancien tableau par un nouveau
Vue ne peut pas détecter les réseaux qui modifient les éléments suivants :
(1) Lorsque vous définissez un élément directement avec un index, vm.items[indexOfItem] = newValue (2) Lorsque vous modifiez la longueur du tableau, par exemple : vm.items.length = newLength Sans plus tarder, téléchargez le code et joignez les rendus :
Ce qui précède sont deux solutions pour des tableaux que Vue ne peut pas détecter de modifications de données Changez la méthode add() dans votre code en
Notes de mise à jour de la liste :La connexion hyperlientérée est visible.Détection des mises à jour du réseau Plongée approfondie dans les principes réactifs :La connexion hyperlientérée est visible.
|