Vue中非父子组件传值的问题
Posted zhaodz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue中非父子组件传值的问题相关的知识,希望对你有一定的参考价值。
非父子组件之间的通信,必须要有公共的实例(可以是空的),才能使用 $emit
获取 $on
的数据参数,实现组件通信
第一个组件的数据传递给第二个组件
公共实例文件bus.js,作为公共数控中央总线
import Vue from "vue"; export default new Vue();
第一个组件 first.vue
import Bus from ‘../bus.js‘; export default { name: ‘first‘, data () { return { value: ‘我来自first.vue组件!‘ } }, methods:{ add(){// 定义add方法,并将msg通过txt传给second组件 Bus.$emit(‘txt‘,this.value); } } }
第二个组件second.vue
import Bus from ‘../bus.js‘; export default { name: ‘second‘, mounted:function(){ Bus.$on(‘txt‘,function(val){//监听first组件的txt事件 console.log(val); }); } }
以上是关于Vue中非父子组件传值的问题的主要内容,如果未能解决你的问题,请参考以下文章