onLoad(options) {
window.addEventListener('popstate',this.back)
},
onUnload() {
// #ifdef H5
window.removeEventListener('popstate', this.back);
// #endif
},
back() {
console.log('1111111111');
},

- 发布:2025-03-13 17:23
- 更新:2025-03-14 17:56
- 阅读:93
产品分类: uniapp/H5
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Windows 10 专业版
HBuilderX类型: 正式
HBuilderX版本号: 4.45
浏览器平台: Edge
浏览器版本: 版本 134.0.3124.51 (正式版本) (64 位)
项目创建方式: HBuilderX
示例代码:
操作步骤:
进入/pages/index/index页面,随便打开一个其它页面,比如/pages/index/a
进入/pages/index/index页面,随便打开一个其它页面,比如/pages/index/a
预期结果:
进入/pages/index/index页面进行事件监听,随便打开一个其它页面,onUnload(){}里面的window.removeEventListener应该正确删除事件监听
进入/pages/index/index页面进行事件监听,随便打开一个其它页面,onUnload(){}里面的window.removeEventListener应该正确删除事件监听
实际结果:
进入/pages/index/index页面进行事件监听,随便打开一个其它页面,onUnload(){}里面的window.removeEventListener没有删除事件监听
进入/pages/index/index页面进行事件监听,随便打开一个其它页面,onUnload(){}里面的window.removeEventListener没有删除事件监听
bug描述:
window.addEventListener('popstate',this.back)事件监听无法被取消
1 个回复
DCloud_UNI_yuhe
hello , 注意一下 onUnload 的执行周期:https://uniapp.dcloud.net.cn/tutorial/page.html#onshow%E5%92%8Conhide