uni-app navigateTo后退触发了onLoad
uni-app navigateTo后退触发了onLoad
| 项目信息 | 详细信息 |
|---|---|
| 产品分类 | uniapp/H5 |
| PC开发环境操作系统 | Windows |
| PC开发环境操作系统版本号 | 10.0.19044 |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 3.2.12 |
| 浏览器平台 | Chrome |
| 浏览器版本 | 用的hbuildX的内置浏览器 |
| 项目创建方式 | HBuilderX |
操作步骤:
uni.navigateTo({url:'/pages/'});
history.pushState(null,null,document.URL)
history.pushState(null,null,document.URL)
然后点内置浏览器的后退按钮,可以在页面的onLoad里打印一下
预期结果:
后退不触发onLoad
实际结果:
后退触发了onLoad
bug描述:
通过uni.navigateTo跳转页面以后,执行两次或以上history.pushState(null,null,document.URL),在控制台执行就行,这时候后退页面触发了onLoad,这是怎么回事呢?后退不都是不会触发onLoad的吗?
更多关于uni-app navigateTo后退触发了onLoad的实战教程也可以访问 https://www.itying.com/category-93-b0.html
3 回复
很显然 navigateTo 不是跳转页面 ,是打开新页面 ,哪怕你已经打开了这个页面!
后退应该使用 uni.navigateBack()
更多关于uni-app navigateTo后退触发了onLoad的实战教程也可以访问 https://www.itying.com/category-93-b0.html
是用的uni.navigateBack()后退,我从a页面uni.navigateBack()到b页面,直接退回去没有走到onLoad里,到b页面后执行两次或以上history.pushState(null,null,document.URL)后退就会出发onLoad,问题不在于uni.navigateBack()和uni.navigateTo的使用,而是history.pushState(null,null,document.URL)之后不知道对uni的route产生了什么影响,导致用uni.navigateBack()后退走到了onLoad里去
回复 2***@qq.com: 建议提供一个测试工程 ,然后详细描述一下测试流程,我来复现一下这个问题 ,看看是不是bug

