微信小程序学习之路《7》 页面路由

微信小程序学习之路《七》 页面路由

微信小程序开发 - 页面路由

 

 

页面路由实际上是指用户操作小程序时的页面访问路径,例如:从page1到page2到page3再到page4再返回到page2、page1...,那么 page1 -> page2 -> page3 -> page4 -> page2 -> page1... 的路径即可以称作是小程序的页面路由。

 

而小程序框架也会以栈的形式维护用户访问的所有页面,称作页面栈。当发生路由切换(页面变化)的时候,页面栈有不同表现。

 

下面将页面路由,页面生命周期,页面栈整合一起,深入了解一下页面框架的实现原理。


微信小程序学习之路《7》 页面路由
 
那么,根据上面的页面路由和页面栈,看一下页面栈顶元素的变化过程。


微信小程序学习之路《7》 页面路由
 

getCurrentPages()

getCurrentPages() 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。

 

通过函数打印页面路由,查看了路由日志

 

var rout = getCurrentPages()
console.log(rout)
console.log(rout[0].__route__)
注意:不要尝试修改页面栈,会导致路由以及页面状态错误。
 
微信小程序学习之路《7》 页面路由
 
wx.navigateBack

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

wx.navigateBack({

  delta: getCurrentPages().length-1 //返回页面数,如果delta大于现有页面数,则返回到首页

})