这种方法不常用,项目中有个地方共享数据了,起初没用vuex做,后来有个地方不好解决,这两个组件没有什么关系
1.首先同一个vue实例来调用两个方法。所以可以建立一个中转站。
1. import Vue from 'vue' 2. export default new Vue
2.分别在两个页面引入该文件(注意路径)
import tabchange from "../../../../utils/tabchange";
3.调用方代码(第二个参数是传递的参数)
handleChange() { tabchange.$emit('change',this.selectedval); getDevices({ constructionId: this.selectedval }).then((res) => { if (res.code == '200') { this.devices = res.result.equipmentCount this.onLine = res.result.fixedCameraCount this.onLine = res.result.onLine || 0 } else { this.$message.warning(res.message) } }) },
4.其他监听事件
mounted() { tabchange.$on('change',(id) =>{ this.SiteId = id; this.GetHistogramoPtion(this.Action); }); },