vue动态获取地址栏参数

Posted GR07

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue动态获取地址栏参数相关的知识,希望对你有一定的参考价值。

  data () {
    return {
      seller: {
        // 从url获取id参数
        id: (() => {
          let obj = {};
          // 获取url参数部分 大概长这样 ?id=213123&a=b
          let url = window.location.search;
          let reg = /[?&][^?&]+=[^?&]+/g;
          // 用正则匹配成数组 大概长这样 [?id=213123, &a=b]
          let arr = url.match(reg);
          if (arr) {
            arr.forEach((item) => {
              // 把字符串?id=123 转为数组 [id, 123]
              let tempArr = item.substring(1).split(‘=‘);
              // decodeURIComponent()可对encodeURIComponent()函数编码的URI进行解码。
              let key = decodeURIComponent(tempArr[0]);
              let val = decodeURIComponent(tempArr[1]);
              // 把键值对添加到obj中
              obj[key] = val;
            })
          }
          console.log(obj.id);
          return obj.id;
        })()
      }
    }
  },

请求数据时候就可以用地址栏的参数了

  created () {
    this.$ajax.get(‘/api/seller?id=‘ + this.seller.id).then((res) => {
      // 用Object.assign()方法赋值 不会覆盖seller已经存在的属性
      this.seller = Object.assign({}, this.seller, res.data.data);
    })
  }

 

以上是关于vue动态获取地址栏参数的主要内容,如果未能解决你的问题,请参考以下文章

若依 vue前端 动态设置路由path不同参数 在页面容器里打开新页面(新路由),面包屑和标签页标题根据参数动态改变,面包屑多级标题,侧边栏对应菜单亮起

vue中this.$router.push路由传参以及获取方法

JS获取URL的参数

vue 路由传参数和隐藏参数

js如何获取地址栏的参数

JS 获取html地址栏后参数的问题??