vue中通过Bus实现非父子组件的传值(如两个页面之间只是存在跳转关系,也可以直接通过地址栏传参的方法进行传值)
1、新建一个bus.js文件,放到任一文件夹里(如下三行代码搞定)
import Vue from 'vue'
const Bus = new Vue()
export default Bus
2、传值方
<script>
import Bus from '../../utils/bus' //改为自己的路径就行
export default {
data () {
return {
airQualityDetail:false,
}
},
methods: {
CBClick() {
Bus.$emit('airQualityD',this.airQualityDetail);
}
}
}
</script>
3、取值方
mounted () { //在需要取值的时候将值从bus里取出来就行
Bus.$on('airQualityD',(data)=> { data即为bus中所存的airQualityD的值
this.airQualityData = data;
});
},