⊗jsvuPmCmRR 68 of 72 menu

Vue에서의 반응형 컴포넌트 삭제

리스트에서 자식 컴포넌트를 반응적으로 삭제하는 방법을 배워봅시다. 이를 위해 각 자식 컴포넌트에 특별한 버튼을 만들겠습니다. 이 버튼을 클릭하면 이벤트가 발생하고 부모 컴포넌트에서 지정된 자식 컴포넌트가 id를 기준으로 삭제됩니다.

구현을 시작해 보겠습니다. 부모 컴포넌트에 다음과 같은 객체 배열이 있다고 가정해 보겠습니다:

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

부모 컴포넌트에서 id를 기준으로 사용자를 삭제하는 메서드를 작성해 보겠습니다:

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

루프를 사용하여 컴포넌트를 생성하고, 이름, 성, id 및 삭제 메서드를 매개변수로 전달하겠습니다:

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

props 설정에서 입력 데이터를 정의하고, emits 설정에서 발생시킬 이벤트를 정의하겠습니다:

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

컴포넌트 템플릿에서 사용자의 이름과 성을 출력해 보겠습니다:

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

이제 클릭 시 삭제 이벤트를 발생시키는 버튼을 만들어 보겠습니다. 이 이벤트의 매개변수로 컴포넌트의 id가 전달됩니다. 부모 컴포넌트는 이벤트를 수신하면 객체 배열에서 해당 사용자를 삭제하고, 사용자 목록에서 반응적으로 사라지게 됩니다.

자, 이 버튼을 구현해 보겠습니다:

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

루프를 사용하여 Employee 컴포넌트를 출력하세요. 각 컴포넌트에 삭제 버튼을 만드세요.

한국어
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
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부