小程序路由跳转

1.在小程序中路由跳转分为两种方式:

        声明式导航编程式导航。路由导航就是我们在进行路由跳转的时候选择的方式。

2.小程序中的声明式导航:

        概念:通过小程序提供的组件navigator 进行路由跳转。想要了解更多关于小程序navigator组件用法的小伙伴,可以点击这里!!!

        方式:

                2.1 导航到非tabbar页面:  

<navigator url="/pages/user/index">
    <button>跳转到user主页面</button>
</navigator>

                注意:url 属性指定要跳转到的页面路径;其中,页面路径应该以 / 开头,且路径必须提前在 app.json 的 pages 节点下声明,才能实现正常的跳转。

                2.2 导航到tabbar页面:

<navigator url="/pages/index/index" open-type="switchTab">
    <button>跳转到首页</button>
</navigator>

                2.3 后退导航:

<navigator open-type="navigateBack" delta="1">
    <button>后退一级</button>
</navigator>

        这里的delta的属性值是我们要后退的层级。

3. 小程序中的编程式路由导航:

        概念:通过小程序官方提供的API,进行路由跳转。

        方式:(5种):

                3.1 wx.navigatorTo

                保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面

<button bindtap="goUser">跳转到user页面</button>

goUser() {
    // 跳转到非tabBar页面
    wx.navigateTo({
        url: '/pages/user/index',
    })
}

                3.2 wx.redirectTo

                关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面

wx.redirectTo({
  url: 'user'
})

                3.3 wx.reLaunch

                关闭所有页面,打开到应用内的某个页面.

                wx.reLaunch()与 wx.redirectTo()的用途基本相同, 只是 wx.reLaunch()先关闭了内存中所有保留的页面,再跳转到目标页面

                3.4 wx.switchTab

                跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面

                对于跳转到 tabBar 的页面,最好选择 wx.switchTab(),它会先关闭所有非 tabBar 的页面。其次,也可以选择 wx.reLaunch(),它也能实现从非 tabBar 跳转到 tabBar,或在 tabBar 间跳转,效果等同 wx.switchTab()。使用其他跳转 API 来跳转到 tabBar,则会跳转失败
 

wx.switchTab({
    url:'user'
})

                3.5 wx.navigatorBack

wx.navigatorBack({
    delta:10
})

                关闭当前页面,返回上一页面或多级页面。可通过getCurrentPages 获取当前的页面栈,决定需要返回几层

                这个 API 需要填写的参数只有 delta,表示要返回的页面数。若 delta 的取值大于现有可返回页面数时,则返回到用户进入小程序的第一个页面。当不填写 delta 的值时,就默认其为 1(注意,默认并非取 0),即返回上一页面

                3.6 在使用编程式导航路由跳转时,参数是一个对象,而对象中一般会有url属性,处理url属性外,还有success,fail,complete ,delta等属性。

                success: 路由跳转成功时触发的回调;

                fail:路由跳转失败时触发的回调;

                complete: 不管路由跳转成功/失败,都会触发的回调。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值