VUE兄弟组件传值
2019-04-01 19:47
429 查看
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如下:
-
[code]<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如下:
-
[code]<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 事件总线 兄弟组件之间传值
- vue.js 兄弟组件传值
- Vue.js中兄弟组件之间互相传值
- vue父子组件之间传值
- vue 中兄弟组件的传值
- 【Vue.js】父子组件传值
- Vue 兄弟组件通信的方法(不使用Vuex)
- Vue组件之间传值
- Vue父子模版传值及组件传值的三种方法
- vue实现父子组件之间的通信以及兄弟组件的通信功能示例
- Vue.js中兄弟组件之间互相传值实例
- Vue父子组件相互传值
- VUE父子组件之间的传值,以及兄弟组件之间的传值;
- vue2.0组件之间的传值
- vue2.0 组件化及组件传值
- vue父子组件传值
- vue-子组件向父组件传值
- 使用vue开发输入型组件更好的一种解决方式(子组件向父组件传值,基于2.2.0)
- vuex 基本用法、兄弟组件通信,参数传递
- VUEX兄弟组建之间的相互传值