vue使用keep-alive后watch事件不销毁解决方案
使用了keep-alive动态缓存页面之后,有一些很难解决的问题:每个页面里面设置的watch监听事件,如果监听了路由的变化或者vuex的变化,在切换页面的时候不会被销毁页面上的一些方法会被叠加触发,不知道是不是监听了路由的原因,导致每次切换页面,很多方法会被重复叠加的触发,比如切换第一次触发2次,切换第2次触发3次,第3次触发4次,类似这样的情况解决方案:定义一个全局 mixin.j...
·
使用了keep-alive动态缓存页面之后,有一些很难解决的问题:
- 每个页面里面设置的watch监听事件,如果监听了路由的变化或者vuex的变化,在切换页面的时候watch不会被销毁,导致下一个页面重复触发上一个watch监听的对象,重复请求接口。
解决方案:
定义一个全局 mixin.js
export const mixin = {
data () {
return {
activatedFlag: false
};
},
mounted () {
this.activatedFlag = true;
},
activated () {
this.activatedFlag = true;
},
deactivated () {
this.activatedFlag = false;
}
};
在使用keep-alive缓存的页面引入mixin
防止在非当前页面重复触发keep-alive缓存页面的方法
更多推荐
已为社区贡献2条内容
所有评论(0)