Есть родительский компонент
<template>
<component v-for="n in blocks" :is="n" @remove="removeBlock" >
</component>
<div class="mainBtn">
<btn-addblock-1
v-for="n in blockTypes"
@click="addBlock(n)"
class="btnAddblock"
/>
</div>
</template>
<script>
import MainBlock from './components/mainBlock.vue'
export default{
components:{
MainBlock,
},
data: () => ({
blocks: [],
blockTypes: ['block-item1', 'block-item2', 'block-item3', 'block-item4', 'block-item5', 'block-item6',]
}),
methods: {
addBlock(n){
this.blocks.push(n)
console.log(this.blocks)
},
removeBlock() {
this.blocks = this.blocks.filter(p => p.id !== this.id)
console.log(this.blocks)
},
}
}
</script>
И дочерний компонент
<template>
<div class="block" v-bind:id="id">
<div class="block__item1">
<changeItem/>
<PhotoUploader/>
</div>
<btn-delete
@click="removeBlock()"
class="btnDelete"
/>
</div>
</template>
<script>
export default {
name: 'blockItem1',
data: () => ({
id : Date.now(),
}),
methods: {
removeBlock(){
this.$emit('remove')
}
}
}
</script>
Как сделать так что бы удалялся компонент при нажатии На данный момент удаляются все созданные компоненты а не конкретно выбранный?