VUE跳转及获取url参数

最近做了一个vue的小的项目,是由外部链接打开的,所以就要涉及从外部url中获取参数。
虽然不是很难的问题,但是在最初遇到这个问题的时候也头疼了一小会儿~
(汗颜,遇到未知的东西总会先头疼一下,实际做起来才知道原来这么简单,哈哈)

从外部url中获取参数

var url = window.location.href ;		//拿到当前页面url,vue编译完成的页面会有'#/'
										//例如http://c.baidu.com/mark?setId=64#/
var dz_url = url.split('#')[0];			//#前面的有用字符

var cs = dz_url.split('?')[1];			//?后面的参数字符串

var cs_arr = cs.split('&');				//将参数字符串分割为包含多个参数的数组

var cs={};								//声明一个容器

for(var i=0;i<cs_arr.length;i++){		//遍历数组

	//将下标为0123的数组字符串,转化为    {key1:value1;key2:value2;}  格式的json
  	cs[cs_arr[i].split('=')[0]] = cs_arr[i].split('=')[1]
  
}

在需要使用参数的地方这样赋值

this.setId = cs.setId;

vue模板内部互传、取参数

从A页面跳转B页面:在A页面当中:

// 定义跳转函数,并传输数据
goDetail(){
    this.$router.push({name:"detail",query:{
      setId:this.setId,
      courseId:this.courseId
    }})
}

在需要跳转的地方调用该函数

this.goDetail();

在B页面当中,取值:

this.setId = this.$route.query.setId;

this.courseId = this.$route.query.courseId;

vue会将数据加在url后面传输给目标页面,url格式例子如下

http://c.baidu.com/marke?setId=64#/detail?setId=64&courseId=26

注意:url当中不能传对象,亲测传对象会出错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值