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

时间:2022-06-01 12:55:54

直奔主题!

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

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

第一步:父级组件A

  1. <bottom-play :play="playStatus" @playStatus="btmChild"></bottom-play>  
  2.     
  3.  methods:{ 
  4.  listChild:function(val){//B组件自定义事件 状态是布尔值 
  5.   this.playStatus = val; 
  6.   }, 
  7.  btmChild:function(val){//C组件自定义事件 
  8.     this.btmStatus = val; 
  9.   } 
 

第二步:子级组件B代码

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

第三步:子级组件C代码

  1. props: ['btmStatus'
  2. ,watch:{ 
  3.   btmStatus:'playList' 
 

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

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

原文链接:http://blog.csdn.net/zhuoganliwanjin/article/details/78890778