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

回到顶部