在vue中,使用了element-ui的框架,点击左侧切换内部页面。
有些页面使用了定时器,在其换到其他页面的时候,希望能够关闭这些定期请求和复杂操作。
那么,切换页面之后如何关闭定时器?vue的创建流程中没找到能够激发的函数,使用onblur和visibilitychange也无效。
通过测试,发现在vue中,切换子页面之后,原来的vue对象依然存在,但是document已经无法获取对象了。
基于这一点,可以避免继续处理定时请求。但是定时器还是需要的。
// <div class="network-container" id="mainDiv">mounted() {this.loadData()this.timer = setInterval(() => {if (document.getElementById('mainDiv')) {this.loadData() //需要定时查询的操作在隐藏时就不必了。}}, 1000 * 60)},unmounted() {clearInterval(this.timer)},