我正在循环使用带有子组件的根组件。
<root-select v-for="offer in offers" >
<child-options v-for="item in options" >
</child-options>
</root-select>
但是,当我从子项$emit
生成root函数时,我所有的roots组件都更改了这些数据。
孩子:
EventBus.$emit('toggle', value);
根:
EventBus.$on('toggle', this.toggle);
但是我需要,仅在触发的组件中更改数据。
谢谢。
答案 0 :(得分:0)
尽量不要使用事件总线来发出。使用正常的发射方式从孩子向父母发射。
在子组件功能中:
this.$emit('toggle', value);
在父组件功能中:
<template><child-options v-for="item in options" @toggle="onToggleFn"></child-options></template>
<script>
...
methods:{
onToggleFn:function(){
//your logic here
}
}
</script>