这篇“VUE中如何实现兄弟组件传值操作”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“VUE中如何实现兄弟组件传值操作”文章吧。
1、兄弟之间传递数据需要借助于事件车,通过事件车的方式传递数据
2、创建一个Vue的实例,让各个兄弟共用同一个事件机制。
3、传递数据方,通过一个事件触发bus.$emit(方法名,传递的数据)。
4、接收数据方,通过mounted(){}触发bus.$on(方法名,function(接收数据的参数){用该组件的数据接收传递过来的数据}),此时函数中的this已经发生了改变,可以使用箭头函数。
我们可以创建一个单独的js文件eventVue.js,内容如下
import Vue from 'vue'; export default new Vue();
假如父组件如下:
<template> <components-a></components-a> <components-b></components-b> </template>
子组件a如下:
<template> <div class="components-a"> <button @click="abtn">A按钮</button> </div> </template> <script> import eventVue from '../../js/eventVue.js' export default { name: 'app', data () { return { 'msg':"我是组件A" } }, methods:{ abtn:function(){ eventVue.$emit("myFun",this.msg) //$emit这个方法会触发一个事件 } } } </script>
子组件b如下:
<template> <div class="components-a"> <div>{{btext}}</div> </div> </template> <script> import eventVue from '../../js/event.js' export default { name: 'app', data () { return { 'btext':"我是B组件内容" } }, created:function(){ this.bbtn(); }, methods:{ bbtn:function(){ eventVue.$on("myFun",(message)=>{ //这里最好用箭头函数,不然this指向有问题 this.btext = message }) } } } </script>
以上就是关于“VUE中如何实现兄弟组件传值操作”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。