Vue新手,小小一个页面自动刷新竟然也花了不少时间。
页面数据依靠AXIOS Get获取,进入页面后自动每秒请求一次刷新页面数据,切换其他页面后停止。
自动刷新
data () {
return {
polling: null
}
}
methods : {
pollData(){
this.polling = setInterval(function()=>{
// get your datat here
}, 1000)
}
},
created () {
this.pollData()
}
一个setInterval()就解决了!
短暂的开心一下,接着便发现
因为Vue是单页面,所以切换页面后后台还会一直执行这个函数获取数据,这不仅看上去很傻,还浪费资源,接下来是解决办法
取消刷新
beforeDestroy () {
clearInterval(this.polling)
}
总结一下:
用setInterval() 设置时间间隔重复执行函数
用clearInterval() 结束
created(){}是一个页面的开始
beforeDestroy(){}宣布这个页面的结束之时
对待页面也要有始有终 负责到最后噢~