小程序获取当前页面
在小程序中,所有页面的路由都由框架统一管理。
框架以栈的形式维护了当前的所有页面。
getCurrentPages() 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。
注意:
1.不要尝试修改页面栈,会导致路由以及页面状态错误。
2.不要在 App.onLaunch 的时候调用 getCurrentPages(),此时 page 还没有生成。
export function getCurrentPageUrl() {
const pages = getCurrentPages()
const currentPage = pages[pages.length - 1]
const url = `/${currentPage.route}`
return url
}
小程序获取当前页面路径及参数
export function getCurrentPageUrlWithArgs() {
const pages = getCurrentPages()
const currentPage = pages[pages.length - 1]
const url = currentPage.route
const options = currentPage.options
let urlWithArgs = `/${url}?`
for (let key in options) {
const value = options[key]
urlWithArgs += `${key}=${value}&`
}
urlWithArgs = urlWithArgs.substring(0, urlWithArgs.length - 1) return urlWithArgs
}
由此可推,获取上一个页面 则是pages.lenght-2, 封到工具类里util.js非常实用
网友评论