1、? 参数

浏览器参数形式:http://javam4.com/m4detail?id=1322914793170014208

1.1、路由取参方式
this.$route.query.id

前端跳转方式:

一、onclick方式
<a 
   title="测试数据"
   @click="test(row.id)"
   target="_blank">
   <span>{{ row.title }}</span>
</a>

test(id) {
    this.$router.push({
        path: "/m4detail",
        query: {
            id: id
        }
    });
}

二、a标签直接跳转
<a 
   title="测试数据"
   :href="javam4.com/m4detail/' + row.id"
   target="_blank">
   <span>{{ row.title }}</span>
</a>

简单粗暴,只要你的浏览器地址栏参数带 ?号,不管你是咋跳转过来的, this.$route.query 后面直接 . 对应的参数就可以取到值,比如 ?id=1323968&name=1111

对应效果如下:

1.2、js取参方式

mothod 方法添加如下方法:

getUrlKey: function (name) {
    return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.href) || [, ""])[1].replace(/\+/g, '%20')) || null
}

调用直接通过 getUrlKey(参数名称),具体如下:

2、/ 参数

浏览器参数形式:http://javam4.com/m4detail/1322914793170014208

2.1、路由方式

路由参数配置如下:

{ path: 'm4detail/:id', title: 'java面试网', name: 'm4detail', component: () => import('@/views/javam4/m4detail.vue') },

也就是由以前的 path: 'm4detail' > path: 'm4detail/:id'

这种方式需要 <router-link> 标签配合使用:

<router-link :to="路径"></router-link>

而界面跳转的时候因为通常是一个 <a> 标签,所以就可以不用了,直接套一层:

<router-link :to="`/m4detail/`+row.id" target="_blank">
    <a>
        <span>{{row.title}}</span>
    </a>
</router-link>

参数说明:

  • to:跳转路径,对应路由的 path
  • target:跳转方式,跟a标签用法一样

界面取参:

this.$route.params.id

效果如下:

2.2、非路由方式

mothod 方法添加如下方法:

getUrlKey: function (directory) {
    return decodeURIComponent((new RegExp('/' + directory + '.*/([^/]+)/?$').exec(location.href) || [, ""])[1].replace(/\+/g, '%20')) || null
}

其中 directory 表示那个目录后面的参数,比如:javam4.com/m4detail/11111111111

那么在这取值就是 m4detail,其实使用这种方式,无非还是用正则表达式切割一下,如果觉得正则不满足大家也可以自行修改。

let id = this.getUrlKey("m4detail");
console.log("this.id:"+id);

代码截图:

效果截图:

希望这篇文章对你有所帮助。

博客园:https://www.cnblogs.com/niceyoo

vue获取浏览器地址栏参数(?及/)路由+非路由实现方式的更多相关文章

  1. JS获取浏览器地址栏的多个参数值的任意值

    getParamValue("id"); //http://localhost:2426/TransactionNotes.aspx?id=100 //返回值是100: // 根据 ...

  2. js获取url地址栏参数

    前端开发中经常会遇到需要获取url地址栏参数问题 方法如下: function getQueryStringByName(name){ var src = "www.baidu.com?na ...

  3. 获取浏览器url参数

    //获取浏览器url参数 var methods ={ getQueryString: function (name) { var reg = new RegExp('(^|&)' + nam ...

  4. vue项目获取当前地址栏参数(非路由传参)

    项目中遇到一个需求,就是另一个管理系统带参直接单纯的跳转跳转到vue pc项目中的某个页面,后再初始化查询数据,参数以地址栏的形式传入 管理系统:打开新地址地址 let obj = { id: 21, ...

  5. 使用js获取浏览器地址栏里的参数

    用JS获取地址栏参数的方法(超级简单) 方法一:采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!) function GetQueryString(name) { var reg = new ...

  6. Vue下URL地址栏参数改变却不能刷新界面

    在完成毕业设计(基于Vue的信息资讯展示与管理平台)的过程中,处理如下图所示的 点击左侧栏目列表跳转到对应文章列表 的问题时,初次点击可以跳转到对应的页面,但是当第二次点击时,虽然地址栏的参数改变了, ...

  7. javascript/jquery获取url地址栏参数的方法

    简洁jq方法获取url地址栏的参数 function getQueryVariable(variable){ var query = window.location.search.substring( ...

  8. php通过$_SERVER['HTTP_USER_AGENT']获取浏览器相关参数

    最近不忙,同事在忙一个app项目.当听到领导安排让他做一个判断苹果还是安卓手机,如果是安卓手机下载安卓app.如果是苹果手机下载苹果app;然后我就上网搜了一下学习学习: php通过$_SERVER[ ...

  9. js获取浏览器地址栏传递的参数

    function getQueryString(key){ var href=window.location.href; var reg = new RegExp(key +"=([^&am ...

随机推荐

  1. vue3.0-如何切换路由-路由模式ts

    如何更换路由模式 vue3版本如何切换路由模式?(注:更改后要重启下项目才能看到效果.) 博主,我搜了大半天的,你是怎么找到的? 如下图可看到

  2. Java入门(6)

    阅读书目:Java入门经典(第7版) 作者:罗格斯·卡登海德 当方法在子类和超类都定义了时,将使用子类的定义:因此子类可以修改,替换或完全删除超类的行为或属性. 关键字super引用对象的上一级超类, ...

  3. c# 创建delphi的代码

    需求: 有一个专业表,没有插入数据,读取的excel,复制为txt文件 每行读取 并且 将汉字的一转换为数字1 private void barButtonItem4_ItemClick(object ...

  4. Docker - 解决运行容器报 WARNING: IPv4 forwarding is disabled. Networking will not work. 的问题

    问题背景 执行运行容器的命令 docker run -d -uroot -p 8080:8080 --name jenkins2 -v /var/jenkins_node/:/var/jenkins_ ...

  5. pipe()管道通信

    管道 管道的概念: 管道是一种最基本的IPC机制,作用于有血缘关系的进程之间,完成数据传递.调用pipe系统函数即可创建一个管道.有如下特质: 1. 其本质是一个伪文件(实为内核缓冲区) 2. 由两个 ...

  6. post和get、PostMapping、GetMapping和RequestMapping

    PostMapping.GetMapping和RequestMapping PostMapping和GetMapping封装了method="",限制了method,更加规范化. ...

  7. 在 JavaScript 中,我们能为原始类型添加一个属性或方法吗?

    原始类型的方法 JavaScript 允许我们像使用对象一样使用原始类型(字符串,数字等).JavaScript 还提供了这样的调用方法.我们很快就会学习它们,但是首先我们将了解它的工作原理,毕竟原始 ...

  8. python之 栈与队列

    忍不住想报一句粗口"卧槽"这尼玛python的数据结构也太特么方便了吧 想到当初学c语言的数据结构的时候,真的是一笔一划都要自己写出来,这python尼玛直接一个模块就ok 真的是 ...

  9. spring mvc 基础知识

    spring mvc 在web.xml中的配置: 例子: <?xml version="1.0" encoding="UTF-8"?> <we ...

  10. ctf-misc-图片隐写术套路总结

    1.直接右键notepad打开,搜索flag,如果图片很多的话,可以写py脚本也    可以打开后搜索全部打开文件 2.是一个压缩包,改了后缀 3.图片中藏了一个二维码,用Stegsolve加几次滤镜 ...