⊗jsvuPmLpKA 34 of 72 menu

Key-attribuuti Vuesa

Kun Vue päivittää v-for-direktiivillä renderöityjä elementtilistoja, se käyttää oletusarvoisesti "paikalla"-päivitysstrategiaa. Jos taulukon tai objektin elementtien järjestys muuttuu, Vue ei siirrä DOM-elementtejä, vaan yksinkertaisesti päivittää jokaisen elementin "paikalla" niin, että se näyttää uudet dataa vastaavassa indeksissä.

Osoittaakseen Vue:lle, kuinka tunnistaa kunkin elementin identiteetti, ja näin ollen uusiokäyttää ja järjestää olemassa olevia elementtejä, on määritettävä yksilöllinen key-attribuutti jokaiselle elementille.

Ilman avaimia Vue käyttää algoritmia, joka minimoi elementtien siirtämisen ja yrittää maksimaalisesti muuttaa/uusiokäyttää samantyyppisiä elementtejä. Kun avaimia käytetään, elementit järjestetään uudelleen vastaamaan avainten järjestyksen muutosta, ja elementit, joiden avaimet eivät enää ole olemassa, poistetaan/tuhotaan aina.

On suositeltavaa aina määrittää key-attribuutti v-for:n kanssa, paitsi tapauksissa, joissa iteroitava DOM-sisältö on yksinkertaista, tai kun tietoisesti luotat oletuspäivitysstrategiaan suorituskyvyn parantamiseksi.

Yleensä avainten lisäämisen kysymys nousee esille objektitaulukon läpikäynnin yhteydessä. Tässä tapauksessa yksi objekten avaimista on yksilöllinen kenttä, esimerkiksi id:

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

Käydään läpi annettu taulukko silmukalla, määrittäen vastaavat avaimet:

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

Käy läpi seuraava taulukko silmukalla ja tulosta tuotteiden nimet listana ul:

data() { return { products: [ { id: 1, name: 'product1', }, { id: 2, name: 'product2', }, { id: 3, name: 'product3', }, ] } }
Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää