⊗jsvuPmLpKA 34 of 72 menu

Атрибут key у Vue-у

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

Да бисте Vue-у дали назнаку како да утврди идентитет сваког елемента, и тиме поново искористи и преуреди постојеће елементе, потребно је навести јединствени атрибут key за сваки елемент.

Без кључева, Vue користи алгоритам који минимизира померање елемената и у максималној могућој мери ће тежити да мења/поново користи елементе истог типа. Када се користе кључеви, елементи ће бити преуређени у складу са променом редоследа кључева, док ће елементи чији кључеви више не постоје, бити увек уклоњени/уништени.

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

У питање додавања кључева обично се наилази при итерацији кроз низ објеката. У том случају, један од кључева објекта је јединствено поље, на пример, 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šuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј