直接在需要定时器的方法或者生命周期函数中声明并销毁

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
export default{
  methods:{
    getGameList(){
      const timer = setInterval(()=>{
        //需要做的事情
         console.log('游戏列表获取成功');
      },1000);
      this.$once('hook:beforeDestory',()=>{
        clearInterval(timer);
        timer = null;
      })
    }
  }
}

优点:

1、不需要在vue实例中定义这个定时器的实例;

2、 创建的定时器代码和销毁定时器的代码放在一块,方便去清理这个定时器,易于维护;