vue2.0 .vue文件非父子组件传值问题
2017-08-22 15:47
766 查看
前一篇我们谈过这个问题,在上一篇中我们是在main.js中定义空的bus.大家如果自己写个简单的demo是可以实现的,但是在项目中如果有路由存在的话,则会失效!那么在有路由的情况下如何在非父子组件中传值呢?
首先我们还是得看官网的api;vue官网指出你可以使用一个空vue实例作为事件中央线!也就是说 非父子组件之间的通信,必须要有公共的实例(可以是空的),才能使用
那么接下来我们可以创建一个公共实例文件bus.js
组件 second.vue
3.组件 first.vue
希望对你有帮助,~~溜了~
欢迎加入前端交流群496522155,备注:前端
希望对你有帮助,~溜了~
首先我们还是得看官网的api;vue官网指出你可以使用一个空vue实例作为事件中央线!也就是说 非父子组件之间的通信,必须要有公共的实例(可以是空的),才能使用
$emit获取
$on的数据参数,实现组件通信
那么接下来我们可以创建一个公共实例文件bus.js
#bus.js作为中央数据总线 import Vue from "vue"; export default new Vue();
组件 second.vue
#second.vue import Bus from '../bus.js'; export default { name: 'foo', data () { return { foo: 'Foo component', msg: 'I come from second' } }, mounted:function(){ var _this=this; Bus.$on('txt',function(msg){//监听first组件的txt事件 _this.msg = msg ; console.log(_this.msg); }); } }
3.组件 first.vue
#first.vue import Bus from '../bus.js'; export default { name: 'bar', data () { return { msg: 'I come from first' } }, methods:{ add(){// 定义add方法,并将msg通过txt传给second组件 Bus.$emit('txt',this.msg); this.msg=''; } } }
希望对你有帮助,~~溜了~
欢迎加入前端交流群496522155,备注:前端
希望对你有帮助,~溜了~
相关文章推荐
- vue2.0 父子组件之间的通信问题
- vue2.0父子组件以及非父子组件如何通信
- [js高手之路]Vue2.0基于vue-cli+webpack父子组件通信教程
- vue2.0父子组件以及非父子组件如何通信
- vue2.0父子组件以及非父子组件之间通信
- [js高手之路]Vue2.0基于vue-cli+webpack父子组件通信教程
- vue2.0父子组件以及非父子组件如何通信
- 浅谈Vue父子组件和非父子组件传值问题
- vue2.0的小坑——当Element UI 中的el-dialog包含子组件时,refs报undefind的问题
- 解决 vue component(组件)里面每个.vue文件的style互相影响的问题
- vue2.0父子组件间传递数据的方法
- vue2.0之父子组件通信的理解
- vue.js单文件组件中非父子组件的传值实例
- [js高手之路]Vue2.0基于vue-cli+webpack父子组件通信教程
- vue2.0父子组件和非父子组件之间的传值
- Vue2.0组件问题
- vue2.0父子组件间通信的实现方法
- vue2.0父子组件通信(慕课网)
- vue2.0父子组件以及非父子组件通信
- vue 2.0 第一个坑,组件不显示的问题