今天试了下uniapp跑真机,本来小程序里面需求就是没有登录的时候跳转到user页面进行登录或注册,小程序里面一切正常,到真机里面就不行了,一番查阅,原因居然非常简单:
不能使用navigate跳转到tabBar页面!
文档里面有写:https://uniapp.dcloud.io/api/router?id=navigateto
再看看自己的pages.json配置文件,果然是属于tabBar页面。
解决办法
跳转tabBar页面使用uni.switchTab方法!即:
uni.switchTab({
url: '/pages/user/user'
})
最后,再提三点:
1、页面跳转路径有层级限制,不能无限制跳转新页面
2、跳转到 tabBar 页面只能使用 switchTab 跳转,小程序里面可以使用navigateTo跳转,浏览器 、真机不能跳!
3、路由API的目标页面必须是在pages.json里注册的vue页面。
最后说下navigateTo与switchTab的区别,前者跳转时可以返回到跳转前的页面,而switchTab 则会跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面,也就是说不会跳转回原来的页面了。
uniapp是方便,但小程序与真机的差异大,有时候头痛,你们呢?
我是@爱玩的安哥,关注我获取更多有用知识
|