⊗jsvuPmLpKA 34 of 72 menu

Atribút key vo Vue

Pri aktualizácii zoznamu prvkov Vue, vykresleného direktívou v-for, sa štandardne používa stratégia aktualizácie "na mieste". Ak sa poradie prvkov poľa alebo objektu zmenilo, Vue nebude presúvať prvky DOM, ale jednoducho aktualizuje každý prvok "na mieste", aby zobrazoval nové dáta podľa príslušného indexu.

Aby Vue vedelo určiť identitu každého prvku, a tak mohlo znovu použiť a zoradiť existujúce prvky, je potrebné špecifikovať unikátny atribút key pre každý prvok.

Bez kľúčov Vue používa algoritmus, ktorý minimalizuje presúvanie prvkov a bude sa snažiť čo najviac meniť/znovu použiť prvky rovnakého typu. Pri použití kľúčov sa prvky budú preusporadúvať v súlade s zmenou poradia kľúčov a prvky, ktorých kľúče už chýbajú, budú vždy odstránené/zničené.

Odporúča sa vždy uvádzať atribút key s v-for, okrem prípadov keď iterovaný obsah DOM je jednoduchý, alebo keď zámerne spoliehate na štandardnú stratégiu aktualizácie na zlepšenie výkonu.

Obvykle sa otázka pridania kľúčov vynorí pri iterovaní poľa objektov. V tomto prípade je jedným z kľúčov objektu unikátne pole, napríklad id:

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

Poďme iterovať uvedené pole cyklom, špecifikujúc príslušné kľúče:

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

Iterujte cyklom nasledujúce pole a vypíšte názvy produktov vo forme zoznamu ul:

data() { return { products: [ { id: 1, name: 'product1', }, { id: 2, name: 'product2', }, { id: 3, name: 'product3', }, ] } }
Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť