1、创建Bus.js。
挂载一个vue实例
import Vue from 'Vue'
export default new Vue()
2.引入要用的组件(组件one和组件two是兄弟组件)想通过bus.js传参。
one组件
<template>
<div>one组件
<input v-model="oneMsg" />
</div>
</template>
<script>
import Bus from "@/common/bus"
export default {
data() {
return {
oneMsg: ''
}
},
computed: {
},
updated() {
// 1.msg是全局变量,如果要使用多次bus.js 注意变量名不能相同。
// 2.$emit发送消息oneMsg
Bus.$emit("msg", this.oneMsg);
}
}
</script>
two组件
<template>
<div>two组件接受one的数据:{{twoMsg}}</div>
</template>
<script>
import Bus from "@/common/bus"
export default {
data() {
return {
twoMsg: ''
}
},
mounted() {
// $on接收msg
Bus.$on("msg", data => {
this.twoMsg = data;
});
}
}
</script>
效果图: