0


vue2中祖父组件和孙组件事件通信

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 所有, 如有侵权,请联系我们删除。

“vue2中祖父组件和孙组件事件通信”的评论:

还没有评论