⊗jsvuPmLpKA 34 of 72 menu

Atributas key Vue

Atnaujinant Vue elementų sąrašą, atvaizduotą v-for direktyva, pagal nutylėjimą naudojama "vietoje" atnaujinimo strategija. Jei masyvo ar objekto elementų tvarka pasikeitė, Vue neperkels DOM elementų, o tiesiog atnaujins kiekvieną elementą "vietoje", kad jis atvaizduotų naujus duomenis pagal atitinkamą indeksą.

Kad Vue suprastų, kaip nustatyti kiekvieno elemento tapatybę, ir tokiu būdu pakartotinai panaudoti bei išdėstyti esančius elementus, būtina nurodyti unikalų key atributą kiekvienam elementui.

Be raktų Vue naudoja algoritmą, kuris minimalizuoja elementų perkėlimą ir kiek įmanoma stengsis keisti/pakartotinai panaudoti to paties tipo elementus. Naudojant raktus, elementai bus pertvarkyti atitinkamai su rakto eilės tvarkos pakeitimu, o elementai, kurių raktai jau nebėra, bus visada pašalinami/naikinti.

Rekomenduojama visada nurodyti key atributą su v-for, išskyrus atvejus, kai iteruojamas DOM turinys yra paprastas, arba kai sąmoningai pasiklioviate numatytaja atnaujinimo strategija, kad pagerintumėte našumą.

Paprastai raktų pridėjimo klausimas kyla pereinant objektų masyvą. Šiuo atveju vienas iš objekto raktų yra unikalus laukas, pavyzdžiui, id:

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

Peržiūrėkime pateiktą masyvą ciklu, nurodydami atitinkamus raktus:

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

Peržiūrėkite ciklu šį masyvą ir atvaizduokite produktų pavadinimus kaip sąrašą ul:

data() { return { products: [ { id: 1, name: 'product1', }, { id: 2, name: 'product2', }, { id: 3, name: 'product3', }, ] } }
Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti