欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

基于vue 兄弟组件之间事件触发(详解)

程序员文章站 2022-04-01 23:30:29
直奔主题!兄弟组件之间的事件触发,大概思路是通过父级组件交换数据,watch来监听触发事件。场景是父级组件a同时引用两个子级组件b,c。点击b组件中的按钮执行c组件中的事件。第一步:父级组件a <...

直奔主题!

兄弟组件之间的事件触发,大概思路是通过父级组件交换数据,watch来监听触发事件。

场景是父级组件a同时引用两个子级组件b,c。点击b组件中的按钮执行c组件中的事件。

第一步:父级组件a

<bottom-play :play="playstatus" @playstatus="btmchild"></bottom-play> 
   
 methods:{ 
 listchild:function(val){//b组件自定义事件 状态是布尔值 
  this.playstatus = val; 
  }, 
 btmchild:function(val){//c组件自定义事件 
    this.btmstatus = val; 
  } 
} 

第二步:子级组件b代码

props: ['play'],//接受父级传递的数据 
watch:{//监听数据 如果改变执行audioplay函数,audioplay在methods中定义 
  play:'audioplay' 
} 
audioplay:function(){ 
 this.$emit('playstatus',false);//向父级组件传递参数 
} 

第三步:子级组件c代码

props: ['btmstatus'] 
,watch:{ 
  btmstatus:'playlist' 
} 

总结就是a组件定义两个值分别传递给b,c。然后b,c组件watch方法监听数据触发事件。

以上这篇基于vue 兄弟组件之间事件触发(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。