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

来源:互联网 发布:淘宝写手兼职招聘 编辑:程序博客网 时间:2024/06/06 00:36

路由(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 的功能
原创粉丝点击