很多人用了keepalive之后,经常遇到数据添加之后,导致其他路由模块下的数据么有实时更新,解决方法可以有很多,我推荐使用如下的通讯:
案例: 组件一触发事件,刷新组件二的数据刷新函数
main.js:
var bus = new Vue();
Vue.prototype.bus = bus;
在组件一种的事件中加入:
this.bus.$emit('punchCardop');
//punchCardop=====是我们的当前触发函数名
//以下代码可以不需要----
//解释:mounted下的this.bus.$on是为了在当前组件下关联函数而已!
//组件二中需要触发的函数名getlist,在组件一下的mounted中添加如下代码
mounted() {
this.bus.$on('getlist')
}
在组件二中直接添加:
mounted() {
this.bus.$on('punchCardop',(res)=>{
this.getlist();
})
},
// punchCardop为组件一的函数名,
// this.getlist();为组件二的函数