小程序----路由(2)

路由(routing)是指分组从源到目的地时,决定端到端路径的网络范围的进程。

介绍

路由,在小程序中可以理解为就是从一个页面跳转到一个页面的一种规则。

框架以栈的形式维护了当前的所有页面。 当发生路由切换的时候,页面栈的表现如下:

路由方式页面栈表现
初始化新页面入栈
打开新页面新页面入栈
页面重定向当前页面出栈,新页面入栈
页面返回页面不断出栈,直到目标返回页,新页面入栈
Tab 切换页面全部出栈,只留下新的 Tab 页面
重加载页面全部出栈,只留下新的页面

入栈相当于是 缓存了页面加载的路径,出栈则相当于是清除了页面加载路径,当清除后,点击返回按钮时,则不会返回,或则就不存在返回按钮。

触发方式和规则

一、跳转的页面必须在app.json中进行注册
 "pages":[
    "pages/index/index",
    "pages/logs/logs",
    "pages/test/test"
  ],
二、API共5种跳转方式

1、使用API接口wx.navigateTo,原页面保留,可使用wx.navigateBack返回到原页面,需要跳转的应用内非 tabBar 的页面的路径

wx.navigateTo({
  url: 'test?id=1'
})

2、 wx.redirectTo 页面重定向,关闭当前页面,需要跳转的应用内非 tabBar 的页面的路径

wx.redirectTo({
  url: 'test?id=1'
})

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

wx.navigateBack({
  delta: 2
})

4、 wx.switchTab,跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面

wx.switchTab({
  url: '/index'
})

5、 wx.reLaunch,关闭所有页面,打开到应用内的某个页面,需要跳转的应用内非 tabBar 的页面的路径,重启动

wx.reLaunch({
  url: 'test?id=1'
})

6、组件和调用api接口是一致的

open-type 有效值对应功能
navigate对应 wx.navigateTo 的功能
redirect对应 wx.redirectTo 的功能
switchTab对应 wx.switchTab 的功能
reLaunch对应 wx.reLaunch 的功能
Tab navigateBack对应 wx.navigateBack 的功能
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值