⊗jsvuPmLpKA 34 of 72 menu

Nøkkelattributtet i Vue

Når Vue oppdaterer en liste av elementer, rendret med direktivet v-for, brukes en "på stedet"-oppdateringsstrategi som standard. Hvis rekkefølgen på elementene i arrayen eller objektet endres, vil Vue ikke flytte DOM-elementene, men bare oppdatere hvert element "på stedet" for å vise de nye dataene ved den tilsvarende indeksen.

For å hjelpe Vue med å bestemme identiteten til hvert element, og dermed gjenbruke og ordne eksisterende elementer, må du spesifisere et unikt attributt key for hvert element.

Uten nøkler bruker Vue en algoritme som minimerer flytting av elementer og vil strebe etter å endre/gjenbruke elementer av samme type så mye som mulig. Med bruk av nøkler vil elementene bli omorganisert i samsvar med endringen i nøkkelenes rekkefølge, og elementer hvis nøkler ikke lenger er til stede, vil alltid bli fjernet/ødelagt.

Det anbefales alltid å spesifisere attributtet key med v-for, bortsett fra når det itererte innholdet i DOM er enkelt, eller når du bevisst stoler på standardoppdateringsstrategien for å forbedre ytelsen.

Spørsmålet om å legge til nøkler oppstår vanligvis når man itererer gjennom en array av objekter. I dette tilfellet er ett av nøklene i objektet et unikt felt, for eksempel id:

data() { return { users: [ { id: 1, name: 'name1', surn: 'surn1', }, { id: 2, name: 'name2', surn: 'surn2', }, { id: 3, name: 'name3', surn: 'surn3', }, ] } }

La oss iterere gjennom den gitte arrayen med en løkke, og spesifisere de tilsvarende nøklene:

<template> <p v-for="user in users" :key="user.id"> {{ user.name }} {{ user.surn }} </p> </template>

Iterer gjennom følgende array og vis produktnavnene som en liste ul:

data() { return { products: [ { id: 1, name: 'product1', }, { id: 2, name: 'product2', }, { id: 3, name: 'product3', }, ] } }
Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis