⊗jsvuPmLpKA 34 of 72 menu

Atribut key ve Vue

Při aktualizaci seznamu prvků ve Vue, vykresleného direktivou v-for, se ve výchozím nastavení používá strategie aktualizace "na místě". Pokud se pořadí prvků pole nebo objektu změnilo, Vue nebude přesouvat prvky DOM, ale jednoduše aktualizuje každý prvek "na místě", aby zobrazoval nová data na příslušném indexu.

Aby Vue vědělo, jak identifikovat každý prvek, a tak mohl znovu použít a seřadit existující prvky, je nutné zadat jedinečný atribut key pro každý prvek.

Bez klíčů Vue používá algoritmus, který minimalizuje přesuny prvků a bude se maximálně snažit měnit/znovu používat prvky stejného typu. Při použití klíčů budou prvky přeuspořádány v souladu se změnou pořadí klíčů, a prvky, jejichž klíče již chybí, budou vždy odstraněny/zničeny.

Doporučuje se vždy uvádět atribut key s v-for, kromě případů, kdy je iterovaný obsah DOM jednoduchý, nebo když se vědomě spoléháte na výchozí strategii aktualizace pro zlepšení výkonu.

Obecně se otázka přidávání klíčů objevuje při procházení pole objektů. V tomto případě je jedním z klíčů objektu jedinečné pole, například id:

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

Pojďme projít uvedené pole cyklem, a zadat příslušné klíče:

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

Projděte cyklem následující pole a vypište názvy produktů ve formě seznamu ul:

data() { return { products: [ { id: 1, name: 'product1', }, { id: 2, name: 'product2', }, { id: 3, name: 'product3', }, ] } }
Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout