vue怎么在标签判断_vue监控当前标签页是否显示状态

在vue项目开发中,页面中存在过多的定时器,轮询等操作的时候,如果浏览器标签页开的太多会出现卡顿的现象,那么如何解决此类问题呢

visibilitychange可以监听当前标签页状态变化

methods: {

// 业务操作

hanldeVisiblityChange() {

if (document.visibilityState === 'hidden') {

console.info('ws hidden>>>关闭定时器');

}

else if (document.visibilityState === 'visible') {

console.info('ws visible>>>启动定时器');

}

}

},

mounted() {

// 监听当前页面 显示状态

window.addEventListener('visibilitychange',, this.hanldeVisiblityChange);

// 当页面被销毁时 移除监听

this.$on('hook:beforeDestroy', () => {

console.info('ws 我被销毁了, 移除监听>>>');

window.removeEventListener('visibilitychange', this.hanldeVisiblityChange)

})

},

beforeDestroy() {

console.info('ws 我被销毁了,vue生命周期 >>>');

},

mounted中添加一个监听需要在beforeDistroy中移除这个监听,考虑到某些原因你不想再写个beforeDistroy去实现,这时候hook就能完美的解决问题 (注:通过正常途径注册的vue生命周期也会被执行)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值