小程序
小游戏
企业微信
微信支付
扫描小程序码分享
A页面里启动了定时器setTimeout, 返回带B页面, 然后再进入A页面, A页面里的setTimeout执行有问题, 可以正常给globalData赋值, 但是setData不执行
(和这个图片说的类似)
()
5 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
启动定时器,返回,定时器所在页面已经不在页面栈里了,在重新点to book page已经是新的页面
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
你返回的到B页面,A页面就销毁了啊,当然setData不会生效,而globalData是全局的肯定是能赋值到的,所以可以onUnload的时候放到globalData中,进来的时候再setData。
App({
globalData: {
lock: false
},
timer: function (time) {
setTimeout(() => {
var pages = getCurrentPages();
var currentPage = pages[pages.length - 1];
this.globalData.lock = false;
currentPage.setData({
lock: false
});
}, time);
}
})
能提供一个代码片段吗
感谢各位了 , 解决办法如下
https://developers.weixin.qq.com/s/Bv5TyGmw7qdN
没代码不说话
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
启动定时器,返回,定时器所在页面已经不在页面栈里了,在重新点to book page已经是新的页面
https://developers.weixin.qq.com/s/jg8fBGmf7HdD
你返回的到B页面,A页面就销毁了啊,当然setData不会生效,而globalData是全局的肯定是能赋值到的,所以可以onUnload的时候放到globalData中,进来的时候再setData。
App({
globalData: {
lock: false
},
timer: function (time) {
setTimeout(() => {
var pages = getCurrentPages();
var currentPage = pages[pages.length - 1];
this.globalData.lock = false;
currentPage.setData({
lock: false
});
}, time);
}
})
能提供一个代码片段吗
感谢各位了 , 解决办法如下
https://developers.weixin.qq.com/s/Bv5TyGmw7qdN
没代码不说话