[英]Listen to event in VueJS parent component to call a method
我的 VueJS 2 应用程序包含一个父组件和一个子组件。 父母将一个名为items
的道具传递给孩子。
当用户单击子组件中的按钮时,它会发出如下refresh
事件:
$emit('refresh', category.id)
我想在父组件中收听这个事件,如果收到事件,触发一个方法,例如alert()
。
据我了解, “ v-on
监听器可以附加到例如按钮或其他位置。 问题是我的父组件没有类似按钮的东西。
为了让事情更清楚,这就是我的想法:
getData()
函数,该函数的结果作为道具传递给子组件。getData()
并更新传递给子组件的 prop。假设您在子组件中有如下代码:
<button v-on:click="$emit('refresh', category.id)" ...
在父母那里你应该有这个
<child v-on:refresh="refreshParent" />
event emitted from child ---------^ ^-------- its handler method in the parent
在父方法中:
methods:{
refreshParent(idCateg){
this.getData()
}
....
}
您实际上不需要为此目的的按钮。 我会尝试向您展示代码
父组件.vue:
<child-comp @refresh="refreshFunc" />
methods: {
refreshFunc (categoryId) {
// here you go
}
}
ChildComponent.vue:
this.$emit('refresh', categoryId)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.