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当中不能传对象,亲测传对象会出错

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 获取url参数有两种情况: 情况一:内部页面之间互相传值 这里先讲情况一,因为同一项目内互相传值比较简单,假如要从...
    勤能补拙的笨小孩阅读 45,830评论 0 5
  • vue-cli搭建项目 确保安装了node与npm 再目标文件夹下打开终端 执行cnpm i vue-cli -g...
    Akiko_秋子阅读 3,304评论 1 22
  • 33、JS中的本地存储 把一些信息存储在当前浏览器指定域下的某一个地方(存储到物理硬盘中)1、不能跨浏览器传输:在...
    萌妹撒阅读 2,155评论 0 2
  • 前言 在上篇中主要叙述了 vue-router 的注册和实例化过程,以及如何生成 $router, $route ...
    心_c2a2阅读 960评论 0 1
  • 当你的时间不再用于深度学习,当你的注意力被他人瓜分,当你只看综艺与电视剧,当你在群体中呆的时间越来越长,当你执行力...
    Camellia_1阅读 175评论 0 0