1.创建utils文件夹,里面创建bus.js文件(放在src下)
2.bus.js写入内容
import Bus from 'vue'
let install = function(Vue) {
// 设置eventBus
Vue.prototype.bus = new Bus()
}
export default {
install
}
3.在index.js里全局配置上
// 将挂载到prototype单独抽离成一个文件
import plugin from '@src/utils/bus'
Vue.use(plugin)
4.使用
A页面传值
mounted() {
//方法名 参数
;(this as any).bus.$emit('rowInfo', clickRow)
})
}
//离开的时候记得销毁
beforeDestroy() {
//方法名
;(this as any).bus.$off('rowInfo')
}
deactived() {
//方法名
;(this as any).bus.$off('rowInfo')
}
B页面使用
;(this as any).bus.$on('rowInfo', (data) => {
})
//调用接口的async和await
;(this as any).bus.$on('rowInfo', async (data) => {
let info = await this.getZongMoFlowmeter(data.dock_no, data.oil_kind, data.tank_no)
})
//离开时清除
beforeDestroy() {
;(this as any).bus.$off('clickRow')
}
deactived() {
;(this as any).bus.$off('clickRow')
}