⊗jsvuPmCmRR 68 of 72 menu

Reaktivno odstranjevanje komponent v Vue

Naucimo se reaktivno odstranjevati podrejene komponente iz seznama. Za to naredimo v vsaki podrejeni komponenti poseben gumb. Ob kliku na ta gumb se bo sprožil dogodek in v nadrejeni komponenti bo odstranjena določena podrejena komponenta po njenem id.

Pristopimo k implementaciji. Naj bo v nadrejeni komponenti podan naslednji seznam objektov:

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

Zapišimo v nadrejeni komponenti metodo za odstranjevanje uporabnika po njegovem id:

methods: { remove(id) { this.users = this.users.filter((user) => { return user.id !== id; }) } }

Ustvarimo komponente v zanki, tako da jim posredujemo parameter ime, priimek, id in metodo za odstranjevanje:

<template> <User v-for ="user in users" :id ="user.id" :name ="user.name" :surn ="user.surn" @remove ="remove" :key ="user.id" /> </template>

Določimo vhodne podatke v nastavitvi props in sproženi dogodek v nastavitvi emits:

props: { id: Number, name: String, surn: String, }, emits: ['remove'],

Prikažimo v predstavitvi komponente ime in priimek uporabnika:

<template> {{ name }} {{ surn }} </template>

Zdaj pa naredimo gumb, ob kliku na katerega se bo sprožil dogodek za odstranjevanje. Parameter tega dogodka bo posredoval id komponente. Nadrejena komponenta ob prejemu dogodka bo odstranila tega uporabnika iz seznama objektov in ta bo reaktivno izginil iz seznama uporabnikov.

Torej, implementirajmo ta gumb:

<template> {{ name }} {{ surn }} <button @click="$emit('remove', id)"> remove </button> </template>

Prikažite v zanki komponente Employee. Naredite v vsaki komponenti gumb za njeno odstranjevanje.

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni