Vue进阶(幺玖贰):获取url传参

Posted No Silver Bullet

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue进阶(幺玖贰):获取url传参相关的知识,希望对你有一定的参考价值。


获取url参数有两种情况:

应用场景一:内部页面之间互相传值

假如要从A页面跳转到B页面,

this.$router.push({path:"/B",query:{
    Id : this.tId ,
    ...
}})

进入B页面之后,

this.Id = this.$route.query.Id;

就能将A页面的id传入B页面,进行参数获取。

应用场景二:外系统跳转Vue项目时自带参数

例如: https://shq5785.blog.csdn.net/list?Id=sunhuaqiang1#/

外系统跳转进入的url会在Vue项目编译后自动添加 “#/”后缀 ,其中带的参数在 “#/”之前,所以应用场景一中的方法无法获取,只能应用JS的方法来获取,解析功能函数如下所示:

getURLParams(url) {
    let param = url.split('#')[0];           //获取#/之前的字符串
    var paramContent = param.split('?')[1];  //获取?之后的参数字符串
    var paramsArray = paramContent.split('&');    //参数字符串分割为数组
    var paramResult = {};
    //遍历数组,拿到json对象
    paramsArray.forEach((item, index, paramsArray) => {
		paramResult[paramsArray[index].split('=')[0]] = paramsArray[index].split('=')[1];
    })
    return paramResult;
}

调用方式如下:

this.getURLParams(window.location.href)

拓展阅读

以上是关于Vue进阶(幺玖贰):获取url传参的主要内容,如果未能解决你的问题,请参考以下文章

Vue进阶(幺玖幺)::ECharts实现地图功能

Vue进阶(幺玖肆):JavaScript 浮点数精度计算

Vue进阶(幺玖陆):js保留两位小数方法总结

Vue进阶(幺玖肆):VantUI 实现 Dialog 弹框动态显示 message

Vue路由进阶

vue路由url问号传参、新打开页面(1分钟解决)