【发布时间】:2018-01-24 08:52:09
【问题描述】:
我有这个代码:
Vue.component('parent', {
template: `
<div>
<child v-for='(child, index) in children' :key='index' :childNumber="index+1" v-on:removeChild="removeChild" />
</div>
`,
data: function() {
return {
children: [{}, {}, {}]
}
},
methods: {
removeChild: function(index) {
this.children.splice(index, 1);
}
}
});
Vue.component('child', {
template: `
<div>
<input :value="'I am child number: '+childNumber"></input>
<button v-on:click="removeChild">Remove child {{childNumber}}</button>
</div>
`,
data: function() {
return {}
},
methods: {
removeChild: function() {
this.$emit('removeChild', this.childNumber);
}
},
props: ['childNumber']
});
const app = new Vue({
el: '#app',
data: {
message: 'Hello Vue!',
}
});
当您单击任何“删除”按钮时,它会删除最后一个子项,无论您单击了哪个按钮。如何更改我的代码以删除您认为它将删除的孩子,而不触及其他孩子? (即点击“移除孩子 2”将在屏幕上只留下孩子 1 和 3)
【问题讨论】:
标签: vue.js components