本文主要是介绍小程序离开当前页面时,清除定时器问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、小程序离开当前页面时,会遇到清除定时器失效问题
解决方式:
// pages/setInter/index.js
Page({/*** 页面的初始数据*/data: {myInterv: '', // 定时器cont: 0 // 数据},/*** 生命周期函数--监听页面加载*/onLoad: function (options) {},/*** 生命周期函数--监听页面初次渲染完成*/onReady: function () {},/*** 生命周期函数--监听页面显示*/onShow: function () {const self = thisself.interval(() => {self.setData({cont: self.data.cont + 1})console.error(self.data.cont)}, 1000)},/*** 生命周期函数--监听页面隐藏*/onHide: function () { // 后台运行清除定时器const self = thisself.clearTimeInterval(self)},/*** 生命周期函数--监听页面卸载*/onUnload: function () { // 关闭清除定时器const self = thisself.clearTimeInterval(self)},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh: function () {},/*** 页面上拉触底事件的处理函数*/onReachBottom: function () {},/*** 用户点击右上角分享*/onShareAppMessage: function () {},interval (func, wait) { // 定时器const self = thisvar myInterv = setInterval(func, wait)self.setData({myInterv: myInterv})},clearTimeInterval (self) { // 清除定时器var myInterv = self.data.myIntervclearInterval(myInterv)}
})
js中注意:onHide onUnload 生命周期 定时器销毁
<!--pages/setInter/index.wxml-->
<view >定时器:{{cont}}</view>
二、如有帮助,敬请点赞。
这篇关于小程序离开当前页面时,清除定时器问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!