Maison > Article > interface Web > Parlons du rôle de la clé dans vue for loop
vue Quel est le rôle de la clé dans la boucle for ? L'article suivant vous présentera le rôle de key dans la boucle vue for. J'espère qu'il vous sera utile.
Qu'il s'agisse d'un framework React ou Vue, chaque élément de la liste sera invité ou obligé d'utiliser une clé unique lors du rendu de la liste. A quoi sert cette clé ? Comment définir correctement la valeur ?
Cette question teste en fait la compréhension de l'algorithme diff dans les objets dom virtuels. [Recommandations associées : tutoriel vidéo vuejs] L'essence de l'algorithme
diff est de trouver la différence entre les anciens et les nouveaux objets DOM virtuels, dans le but de réutiliser les nœuds autant que possible et d'améliorer les performances.
La fonction principale de key est de déterminer si les anciens et les nouveaux nœuds sont du même type dans l'algorithme de comparaison, afin de réutiliser les anciens nœuds correspondant aux nouveaux nœuds et d'économiser sur les performances
export function isSameVNodeType(n1: VNode, n2: VNode): boolean { return n1.type === n2.type && n1.key === n2.key }
Pour donner un exemple négatif pour comprendre, nous utilisons souvent des tableaux. L'index est utilisé comme clé de la liste. Jetons un coup d'œil au processus spécifique
Si les éléments sont ajoutés séquentiellement, l'ordre ne sera pas gâché, donc il n'y aura aucun impact. et peut être utilisé normalement ;
S'il y a suppression de liste et échange d'éléments. En d'autres termes, parce que la clé (index) est la même, l'ordre du nouveau nœud et l'ordre de l'ancien nœud correspondent toujours un à un. d'avant en arrière. Cependant, en jugeant le contenu du nœud, le contenu de l'élément a réellement changé et une mise à jour du contenu est nécessaire. Cela crée une surcharge de performances. Vous pouvez observer les changements dans le contenu des nœuds dans l'outil de débogage Chrome. Si vous êtes intéressé, vous pouvez l'essayer.
(Partage de vidéos d'apprentissage : développement web front-end, Vidéo de programmation de base)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!