您的当前位置:首页正文

小程序 navigateTo redirectTo navigateBack reLaunch switchTab总结

2024-11-22 来源:个人技术集锦

最近开发了钉钉小程序,再写代码时遇到了诸多棘手问题,经过百度以及一番思考,终于解决,但是虽然问题是解决了,但是一些原理还是并没有弄的非常清楚,还有待以后能够加深学习
其实问题并没有自己想象的那么难,只是自己总是把事情复杂化了

在小程序中点击跳转页面有多种。
钉钉小程序和微信小程序原理,就是写法不同,以下就以钉钉小程序为例:
1、navigateTo
dd.navigateTo({
url: ../meetingBooking/meetingBooking?roomId=${id}&dateTimeStr=${this.data.dateTimeStr}
})
navigateTo是保存原有页面,跳转到另一个页面,url里面可以传值,传的值在跳转的新页面的onload里面获取,且navigateTo跳转后,页面可以返回到原有页面
2、dd.redirectTo
dd.redirectTo({
url: ‘new_page?count=100’
})
关闭当前页面,跳转到应用内的某个指定页面。可传参
3、dd.navigateBack

关闭当前页面,返回上一级或多级页面。可通过 getCurrentPages 获取当前的页面栈信息,决定需要返回几层。
4、dd.reLaunch
dd.reLaunch({
url: ‘/page/index’
})
关闭当前所有页面,跳转到应用内的某个指定页面。

dd.navigateTo 和 dd.redirectTo 不允许跳转到 tabbar 页面,如果需要跳转到 tabbar 页面,请使用 dd.switchTab。
但是跳转到 tabbar 页面,请使用 dd.switchTab再掉dd.httpRequest重新加载数据,会无厘头报error 12,但是跳转到 tabbar 页面用dd.reLaunch就可以,不会报错,目前还不知道为什么,以后有时间会继续研究,先写到这里,以后如果再有心得会继续添加

显示全文