个人blog,欢迎关注加收藏
在离开组件时,需要将所有计时器清除,不然还是会一直在请求数据:又耗性能又不安全
1.在main.js中设置一个空的全局数组做容器:

//设置一个全局数组接收所有计时器
Vue.prototype.timerCount = [];


2.在每个组件中设置计时器,请将其装载在容器中:
_this.timerCount[0] = setTimeout(_this.requestTradingInfo, 500);

3.在每个组件内,组件被销毁前清除所有计时器

//组件被破坏之前,最好也把计时器清除
    beforeDestroy(){
        let _this = this;
        for(let i = 0; i <= _this.timerCount.length; i++){
            clearTimeout(_this.timerCount[i]);//清空容器的所有计时器
        }
        _this.timerCount.splice(0, _this.timerCount.length)//清空容器
    }
Logo

前往低代码交流专区

更多推荐