vue 兄弟组件之间事件触发

直奔肢体

直奔主题!

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

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

第一步:父级组件A 


		
	       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方法监听数据触发事件。

可能讲的不是很好,如果有疑问可以吧问题发送我的邮箱[email protected],我会第一时间回复。


你可能感兴趣的:(Vue.js,JavaScript,JavaScript武器库)