⊗jsvuPmLpKA 34 of 72 menu

Vue-дагы key атрибуту

Vue тарабынан v-for директивасы менен көрсөтүлгөн элементтердин тизмесин жаңыртканда, демейки стратегия "ордунда" жаңыртуу болуп саналат. Эгерде массивдин же объекттин элементтеринин тартиби өзгөрсө, Vue DOM элементтерин жылдырбайт, ордуна ар бир элементти "ордунда" жаңыртып, анын тиешелүү индекстеги жаңы маалыматтарды көрсөтүшүн камсыз кылат.

Vue-га ар бир элементтин идентификациясын кантип аныктоону жана, ошентип, бар элементтерди кайра колдонууну жана иреттөөнү көрсөтүү үчүн, ар бир элемент үчүн уникалдуу key атрибутун көрсөтүү зарыл.

Ачкычтарсыз Vue элементтердин жылдырылышын минималдаштыруучу алгоритмди колдонот жана бир типтеги элементтерди өзгөртүү/кайра колдонууга аракет кылат. Ачкычтарды колдонгондо, элементтер ачкычтардын тартибинин өзгөрүшүнө ылайык иреттелет, ал эми ачкычы жок калган элементтер ар дайым өчүрүлөт/жок кылынат.

v-for менен бирге key атрибутун ар дайым көрсөтүү сунушталат, эгерде DOM-догу итерциялоочу мазмун жөнөкөй болсо же өндүрүмдүүлүктү жакшыртуу үчүн демейки жаңыртуу стратегиясына санарипте шилтеме жасоону кааласаңыз.

Адатта, ачкычтарды кошуу маселеси объекттер массивин айландырганда туулат. Бул учурда объекттин ачкычтарынын бири уникалдуу талаа, мисалы, 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ščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Биз сайттин иштөөсү, аналитика жана персонализация үчүн cookie файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу