龙空技术网

uniapp获取当前页面路由route及参数

is芳小芳 218

前言:

现时兄弟们对“获取路由参数”大约比较讲究,大家都需要了解一些“获取路由参数”的相关知识。那么小编在网摘上汇集了一些对于“获取路由参数””的相关知识,希望看官们能喜欢,看官们一起来了解一下吧!

1、第一种 获取参数/路由

//正常vue页面中,在onload()获取,uni-app有详细介绍onLoad: function (option) { //option为object类型,会序列化上个页面传递的参数    console.log(option.id); //打印出上个页面传递的参数。    console.log(option.name); //打印出上个页面传递的参数。}

但如果是js中,可以用getCurrentPages()函数用于获取当前页面栈的实例。

let routes = getCurrentPages(); // 获取当前打开过的页面路由数组let curRoute = routes[routes.length - 1].route //获取当前页面路由let curParam = routes[routes.length - 1].options; //获取路由参数// 拼接参数let param = ''for (let key in curParam) {    param += '&' + key + '=' + curParam[key]}//or/*获取当前路由*/let curPage = getCurPage();//在微信小程序或是app中,通过curPage.options;//如果是H5,则需要curPage.$route.query//(H5中的curPage.options为undefined,所以刚好就不需要条件编译了)let curParam = curPage.options || curPage.$route.query;export function getCurPage(){    let pages = getCurrentPages();    let curPage = pages[pages.length-1];    return curPage}
重点分析getcurrentpages()

以下是getcurrentpages()方法返回的数组对象,每个对象里面其实就是已经打开的页面的对象

2、第二种 用官方已经挂在的$mp变量获取,其实和上述方法基本上是一致的,只是方法被挂载在$mp

let curRoute  = this.$mp.page.route; // 直接获取当前页面路由

以下是this.$mp对象返回的对象,实际上就是当前页面的webview对象

以上参考原文链接:

标签: #获取路由参数