⊗jsvuPmLpKA 34 of 72 menu

Атрибутот key во Vue

При ажурирање на Vue на список на елементи, исцртани со директивата v-for, стандардно се користи стратегија за ажурирање "на место". Ако редоследот на елементите од низата или објектот се промени, Vue нема да ги преместува DOM елементите, туку едноставно ќе ги ажурира секој елемент "на место" за да го прикаже новите податоци соодветно на индексот.

За да му помогнете на Vue да одреди идентитетот на секој елемент, и, на тој начин, да ги повторно користи и подреди постоечките елементи, неопходно е да се назначи уникален атрибут key за секој елемент.

Без клучеви, Vue користи алгоритам кој го минимизира поместувањето на елементи и ќе се обиде максимално да ги менува/повторно користи елементи од ист тип. Со користење на клучеви, елементите ќе се преуредуваат во согласност со промената на редоследот на клучевите, а елементите чии клучеви веќе отсуствуваат, ќе бидат секогаш отстранети/уништени.

Се препорачува секогаш да се назначува атрибутот key со v-for, освен во случаи кога содржината што се итерира е едноставна, или кога свесно се потпирате на стандардната стратегија за ажурирање за подобрување на перформансите.

Општо земено, прашањето за додавање клучеви се појавува при преминување низ низа од објекти. Во овој случај, еден од клучевите на објектот е уникално поле, на пример, id:

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

Ајде да ја преминеме дадената низа со циклус, назначувајќи ги соодветните клучеви:

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

Преминете со циклус низ следнава низа и прикажете ги имињата на производите во вид на список ul:

data() { return { products: [ { id: 1, name: 'product1', }, { id: 2, name: 'product2', }, { id: 3, name: 'product3', }, ] } }
Македонски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј