路由(routing)是指分组从源到目的地时,决定端到端路径的网络范围的进程。
我理解的小程序路由就是:根据路由规则从一个页面跳转到另一个页面的行为
注:官方规定小程序最多只能有五个页面同时存在,意思是在不关闭页面的情况,最多新开五个页面,页面深度为5。
页面栈(先进后出)
小程序以栈的形式,维护了当前的所有页面。
1.使用wx.navigateTo每新开一个页面,页面栈大小加1,直到页面栈大小为5为止
2.使用wx.navigateTo重复打开界面。若从四级页面跳转到二级页面,此时会在页面栈顶添加一个和二级页面初始状态一样的页面,但两个页面 状态 是独立的,且页面栈大小会加1,若页面栈大小为5时,则操作无效。
3.使用wx.redirectTo重定向。若从四级页面重定向到二级页面,此时会关闭四级页面,同时二级页面会 替换 四级页面,但两个页面状态是 独立 的。页面栈大小不会改变。
4.使用wx.navigateBack返回。一次关闭直到栈底元素(首页)。
路由方法:
1.初始化:小程序打开第一个页面。
2.打开新页面:调用 API wx.navigateTo 或使用组件 <navigator open-type="navigateTo"/>
3.页面的重定向:调用API wx.redirectTo 或使用组件 <navigator open-type="redirectTo"/>
4.页面返回:调用 API wx.navigateBack 或使用组件<navigator open-type="navigateBack">或用户按左上角返回按钮
5 .Tab切换: 调用 API wx.switchTab 或使用组件 <navigator open-type="switchTab"/> 或用户切换 Tab
网友评论