封装获取当前页面的路由信息方法 util.js
页面只有一个参数:
export function getCurrentPath() {
let currentRoutes = getCurrentPages(); // 获取当前打开过的页面路由数组
let currentRoute = currentRoutes[currentRoutes.length - 1].route //获取当前页面路由
let currentParam = currentRoutes[currentRoutes.length - 1].options; //获取路由参数
// 拼接参数
let param = ''
for (let key in currentParam) {
param += '?' + key + '=' + currentParam[key]
}
return currentRoute + param
}
页面有一个或者一个以上的参数:
export function getCurrentPath() {
let currentRoutes = getCurrentPages(); // 获取当前打开过的页面路由数组
let currentRoute = currentRoutes[currentRoutes.length - 1].route //获取当前页面路由
let currentParam = currentRoutes[currentRoutes.length - 1].options; //获取路由参数
// 拼接参数
if( Object.keys(currentParam).length == 1){
let param = ''
for (let key in currentParam)
{
param += '?' + key + '=' + currentParam[key]
}
return currentRoute + param
}else{
let param = ''
for (let key in currentParam)
{
param += key + '=' + currentParam[key] + '&'
}
param = param.slice(0,param.length-1);
return currentRoute + '?' + param
}
}
在需要的页面引入调用即可
import { queryParams,getCurrentPath } from "../../../common/utils";
onShareAppMessage(res) {
//发送给朋友
return {
title: this.scenicBaseInfo.introduction,
imageUrl: this.scenicBaseInfo.bigThumbnailUrl,
path: getCurrentPath(),
success(res) {
uni.showToast({
title: '分享成功'
});
},
fail(res) {
uni.showToast({
title: '分享失败',
icon: 'none'
});
}
};
},
版权声明:本文为qq_39224105原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。