小程序 在onLoad函数中执行界面跳转无法生效怎么解决
发布于 6 年前 作者 wanchao 1978 次浏览 来自 问答

业务场景描述:比如我会根据用户是否已经注册,跳转到不同界面做操作,目前是在onLoad 里面执行这个判断和跳转逻辑的。

onLoad: function (options) {


if (localPhone.length > 0) { //处理注册用户和扫码用户的区别
   if(localProjectID){ //存在商品id进入下单环境
       wx.navigateTo({
url: '/pages/main/sureOrder/sureOrder',
})

}else{ //跳转到首页商城
       wx.navigateTo({
url: '/pages/main/index/index',
})

}

}
}


遇到的问题描述:

在实际的代码中,发现界面到了这里就不会走界面跳转的分支。

希望解决的问题:

希望在这里可以直接跳转界面,目前已经尝试过用setTimeout来做延迟跳转,但是也不会生效。

2 回复

你好,目前项目还在内测中,代码片段不好提供(这个咋玩?)。

目前问题应该是我跳转到tabBar界面引起的。

解决方案如下: wx.reLaunch 这种模式可以跳转过去

if  (localPhone.length > 0) {  //处理注册用户和扫码用户的区别
           if (localProjectID){  //存在商品id进入下单环境
               wx.reLaunch({
                   url:  '/pages/main/sureOrder/sureOrder' ,
               })
           } else {  //跳转到首页商城
               wx.reLaunch({
                   url:  '/pages/main/index/index' ,
               })
 
           }
 
       }
回到顶部