Javascript VueJS父元素与子元素的通信

Javascript VueJS父元素与子元素的通信,javascript,vue.js,Javascript,Vue.js,VueJS新手,希望获得一些关于最佳方法的建议 我有一个包含多个子组件的父组件 创建子组件后,每个子组件都会附加一个事件处理程序 this.$parent.$on('save', this.save); 因此,每当我在父对象中发出以下命令时,我们就调用child save方法 this.$emit('save', block); 我看到的问题是,每一个孩子听这个家长的事件都是对这个事件的反应 有没有更好的方法让特定的子级对父级单击事件做出反应?也许您可以尝试将带有.sync修饰符的道具传递给

VueJS新手,希望获得一些关于最佳方法的建议

我有一个包含多个子组件的父组件

创建子组件后,每个子组件都会附加一个事件处理程序

this.$parent.$on('save', this.save);
因此,每当我在父对象中发出以下命令时,我们就调用child save方法

this.$emit('save', block);
我看到的问题是,每一个孩子听这个家长的事件都是对这个事件的反应


有没有更好的方法让特定的子级对父级单击事件做出反应?

也许您可以尝试将带有.sync修饰符的道具传递给子级,然后在子级组件中使用computed属性。这是一个选项,但我不知道您试图实现什么,是否有任何特定的原因,您必须发出一个事件


阅读vue.js道具剂量说明:

也许您可以尝试将带有.sync修饰符的道具传递给子组件,然后在子组件中使用computed属性。这是一个选项,但我不知道您试图实现什么,是否有任何特定的原因,您必须发出一个事件


阅读vue.js dosumentation获取道具:

了解您正在尝试的内容,如果可能的话,我会使用并从父级调用子级的方法:

Vue.comp组件('my-comp'{
模板:“#我的薪酬模板”,
道具:['name'],
方法:{
saveMyComp(){
console.log('Saved:',this.name);
}
}
})
新Vue({
el:“#应用程序”,
数据:{
人员:[{name:'Bob'},{name:'Nelson'},{name:'Zed'}]
},
方法:{
saveChild(索引){
这是.$refs.myComps[index].saveMyComp();
}
}
});

savemycop
{{name}}

对于您正在尝试的内容,如果可能的话,我将使用并从父级调用子级的方法:

Vue.comp组件('my-comp'{
模板:“#我的薪酬模板”,
道具:['name'],
方法:{
saveMyComp(){
console.log('Saved:',this.name);
}
}
})
新Vue({
el:“#应用程序”,
数据:{
人员:[{name:'Bob'},{name:'Nelson'},{name:'Zed'}]
},
方法:{
saveChild(索引){
这是.$refs.myComps[index].saveMyComp();
}
}
});

savemycop
{{name}}

我认为您可能需要重新考虑您的设计。通常,亲子互动是另一种方式。以下是文档中关于组件组合基础知识的部分:我想说,您可能需要重新考虑您的设计。通常,亲子互动是另一种方式。以下是文档中有关组件组合基础知识的部分: