⊗jsvuPmLpKA 34 of 72 menu

Atribut key u Vue

Prilikom ažuriranja Vue liste elemenata, prikazanih direktivom v-for, podrazumevano se koristi strategija ažuriranja "na mestu". Ako se redosled elemenata niza ili objekta promeni, Vue neće pomerati DOM elemente, već će jednostavno ažurirati svaki element "na mestu", kako bi prikazao nove podatke za odgovarajući indeks.

Da biste Vue-u dali do znanja kako da utvrdi identitet svakog elementa, i na taj način ponovo koristi i uredi postojeće elemente, potrebno je da navedete jedinstveni atribut key za svaki element.

Bez ključeva Vue koristi algoritam koji minimizuje pomeranje elemenata i će maksimalno nastojati da menja/ponovo koristi elemente istog tipa. Kada se koriste ključevi, elementi će se preuređivati u skladu sa promenom redosleda ključeva, a elementi čiji ključevi više nisu prisutni, biće uvek uklonjeni/uništeni.

Preporučuje se da uvek navedete atribut key uz v-for, osim u slučajevima kada je iterativni sadržaj jednostavan, ili kada se svesno oslanjate na podrazumevanu strategiju ažuriranja radi poboljšanja performansi.

U principu pitanje dodavanja ključeva postaje relevantno pri iteraciji kroz niz objekata. U ovom slučaju jedan od ključeva objekta je jedinstveno polje, na primer, id:

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

Hajde da prođemo kroz dati niz petljom, navodeći odgovarajuće ključeve:

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

Prođite kroz sledeći niz petljom i prikažite nazive proizvoda u vidu liste ul:

data() { return { products: [ { id: 1, name: 'product1', }, { id: 2, name: 'product2', }, { id: 3, name: 'product3', }, ] } }
Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij