微信小程序_跳转方式

1,513 阅读1分钟

1、wx.navigateTo

  • 只能打开非 tabBar 页面;
  • 当前页面存储在
1.1 带参数跳转
wx.navigateTo({
    url:'../person/pageName?pid=234&gid=189', //该路由url路径可以写相对和绝对路径
    success:function(){}        //成功后的回调;
    fail:function(){}          //失败后的回调;
    complete:function(){}      //结束后的回调(成功,失败都会执行)
})
1.2 不带参数跳转
wx.navigateTo({
    url:'/pages/homepage/homepage',
    success:function(){}        //成功后的回调;
    fail:function(){}          //失败后的回调;
    complete:function(){}      //结束后的回调(成功,失败都会执行)
})
1.3 wx.navigateBack
  • wx.navigateTo跳转可以用wx.navigateBack返回
  • 执行wx.navigateBack后,该页面会关闭销毁
  • 执行getCurrentPages() 获取当前的页面栈,决定需要返回几层
wx.navigateTo({
  url: 'B?id=1'
})
 
// 此处是B页面
wx.navigateTo({
  url: 'C?id=1'
})
 
// 在C页面内 navigateBack,将返回A页面;delta默认值为1,代表本身页面
wx.navigateBack({
  delta: 2
})

3、wx.redirectTo

  • 只能打开非 tabBar 页面;
  • 关闭当前页面,跳转到目标页面;
//homepage页面中
wx.redirectTo({
    url:'/pages/onekeysucc',
})

//注:此时点击返回按钮时,将无法返回homepage页面(homepage页面已被销毁),只能直接回到小程序的首页

4、wx.reLaunch

  • 只能打开非 tabBar 页面;
  • 跳转目标页后,已经打开的页面将全部被销毁(即跳转成功后,小程序将不会存在 返回按钮,这个最好用在返回至首页的的时候
//homepage页面中
wx.reLaunch({
    url:'/pages/onekeysucc',
})

5、wx.switchTab

  • 跳转到tabBar页面(在app.json中注册过的tabBar页面)
wx.switchTab({
    url:"/pages/homepage/homepage"
 })

(如有不正确处,欢迎指正)