1,引入bus文件
import Bus from ‘@/assets/script/bus’
2,bus.js里面的代码
import Vue from 'vue'
var bus = new Vue()
export default bus
3,在需要走获取数据的地方,触发
Bus.$emit('saveLog');
4,在其他地方接收到,来执行
Bus.$on('saveLog', function () {
this.$_get_logDetail(); //这是某个获取数据的方法
}.bind(this));
5,注意:只要页面没有强制刷新,存在组件切换,bus.$on方法会被多次绑定,造成事件多次触发。
beforeDestroy () {
Bus.$off("saveLog");
},
2021年7月16号更新
带参数的
Bus.$emit('echartsUpdate',this.kpiXAxis,this.kpiChartValue,this.kpiList);
Bus.$on('echartsUpdate', function (xAxisValue,chartValue,kpiList) {
this.xAxisValue = xAxisValue
this.chartValue = chartValue
this.kpiList = kpiList
console.log(47,this.chartValue)
this.$_set_kpi_chart()
}.bind(this));
beforeDestroy () {
Bus.$off("echartsUpdate");
},