1、使用
p
a
r
e
n
t
属性访问祖父组件,并通过
parent属性访问祖父组件,并通过
parent属性访问祖父组件,并通过emit方法触发祖父组件的事件
this.$parent.$emit('event-name', data);
2、使用provide和inject方法,在祖父组件中提供一个方法或属性,孙组件中通过inject方法获取这个方法或属性,并在孙组件中调用该方法或属性来触发祖父组件
// 祖父组件中provide(){return{trigger:this.trigger
}},methods:{trigger(data){// 处理数据}}// 孙组件中inject:['trigger'],methods:{handleClick(){this.trigger(data);}}
3、使用事件总线,祖父组件中创建一个Vue实例作为事件总线,然后在祖父组件、父组件和孙组件中分别使用
e
m
i
t
和
emit和
emit和on方法来进行事件的传递和监听。
// 祖父组件中const eventBus =newVue();// 父组件中
eventBus.$on('event-name',data=>{// 处理数据})// 孙组件中
eventBus.$emit('event-name', data);
本文转载自: https://blog.csdn.net/SSS0821/article/details/129613925
版权归原作者 SSS0821 所有, 如有侵权,请联系我们删除。
版权归原作者 SSS0821 所有, 如有侵权,请联系我们删除。