vue获取浏览器地址栏参数(?及/)路由+非路由实现方式

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/413898.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python3.X 使用pip 离线安装whl包(转载)

转载https://blog.csdn.net/wangyaninglm/article/details/54177720 0. 绪论 断网的环境下配置python开发环境非常讨厌&#xff0c;本文旨在优雅暴力的解决这一问题。 生产环境 &#xff1a; windows 7 windows10 python 3.5.2 pip 1.5.2 友情提示&#xff1a;出现问题时候&…

[js] XML与JSON有什么的区别?

[js] XML与JSON有什么的区别&#xff1f; xml 可以设 id&#xff0c;用 include 之类的可以直接引用过来&#xff0c;甚至可以约定内容格式。 但 json 不依赖 js 等语言就很难完成了。好吧&#xff0c;广义上来讲&#xff0c; json 编译更简单易懂&#xff0c;体积更小&#x…

@RequestParam,@RequestBody,@PathVariable注解还分不清吗?

前言 在使用 SpringMVC 开发时&#xff0c;经常遇到前端传递的各种参数&#xff0c;比如 form 表单&#xff0c;JSON 数据&#xff0c;String[] 数组&#xff0c;再或者是最常见的 String 字符串等等&#xff0c;总之大部分场景都是在标题这三个注解来回切换&#xff0c;所以搞…

Android | Sqlite3

Android 数据库创建及使用: 创建: package he3.sd.dao;import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log;/*** Created by asd25 on 2018/6/11 0011.*/public clas…

[js] flash如何与js交互?

[js] flash如何与js交互&#xff1f; 当Flash置于HTML容器中时&#xff0c;经常会遇到AS与JS的通信问题&#xff0c;例如&#xff1a;JS能否调用AS中的变量、方法&#xff0c;AS能否调用JS中的变量、方法等等。答案是肯定的。随着技术的不断发展&#xff0c;解决方案也是多种多…

PHP文件下载

步骤 //流的方式发送给浏览器 header("Content-Type: application/octet-stream"); //按照字节的返回给浏览器 header("Accept-Ranges: bytes"); //告诉浏览器文件的大小 header("Accept-Length: ".filesize(文件地址)); //以附件的形式发送给浏…

面试官:了解二叉树吗,平衡二叉树,红黑树?

前言 面试过程中&#xff0c;多多少少会问一点数据结构&#xff08;二叉树&#xff09;的问题&#xff0c;今天我们来复习一下二叉树的相关问题&#xff0c;文末总结。 1. 二叉树的由来 在 jdk1.8 之前&#xff0c;HashMap 的数据结构由「数组链表」组成&#xff0c;数组是 …

[js] 说说你对js对象生命周期的理解

[js] 说说你对js对象生命周期的理解 一切皆对象 咱们经常听到JS中“一切皆对象”&#xff1f;有没有问想过这是什么意思&#xff1f;其它语言也有“一切皆对象”之说&#xff0c;如Python。但是Python中的对象不仅仅是像JS对象这样的存放值和值的容器。Python中的对象是一个类…

(理论)数据库建模三步骤:概念模型-逻辑模型-物理模型

概念模型就是在了解了用户的需求&#xff0c;用户的业务领域工作情况以后&#xff0c;经过分析和总结&#xff0c;提炼出来的用以描述用户业务需求的一些概念的东西。如销售业务中的“客户”和“定单”&#xff0c;还有就是“商品”&#xff0c;“业务员”。 用USE CASE来描述…

java.util.UnknownFormatConversionException: Conversion = ‘j‘ || Conversion = ‘D‘ || Conversion = ‘Y‘

执行内容&#xff1a; String a "select * from j_question j where j.status %s and j.title like %java%"; String format String.format(a, 1); System.out.println(format);拼接SQL时&#xff0c;最后需要 format 替换字符串中的 %s 占位符。 预期效果&…

[js] 在DOM上同时绑定两个点击事件(一个用捕获,一个用冒泡),事件总共会执行几次,先执行哪个事件?

[js] 在DOM上同时绑定两个点击事件&#xff08;一个用捕获&#xff0c;一个用冒泡&#xff09;&#xff0c;事件总共会执行几次&#xff0c;先执行哪个事件&#xff1f; 两次 先捕获&#xff0c;后冒泡个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易…

Jenkins: QQ/Wechat机器人群消息通知Job构建结果

简介 Jenkins是持续化集成的一个核心部件&#xff0c;它上游从仓库&#xff08;gitlab&#xff09;等拉取代码&#xff0c;经编译构建&#xff0c;将应用发布至下游目标环境&#xff1b;构建结果通知的方式有很多&#xff0c;现成的插件有邮件和钉钉方式&#xff0c;但是就方便…

[js] json和对象有什么区别?

[js] json和对象有什么区别&#xff1f; JSON 是对象&#xff0c;但对象不一定是 JSON。对象是由属性和属性值组成&#xff0c;也就是 KEY->VALUE 对。 对象中的 value 可以是任意的数据类型&#xff0c;包括函数。而 JSON 中的 value 不能为函数。个人简介 我是歌谣&…

Java中的Set对象去重

前言部分 Set<T> 去重相信大家一定不陌生&#xff0c;尤其是在 Set<String>、Set<Integer> 等等&#xff0c;但是在使用 Set<实体> &#xff0c;在不重写 equals()、hashCode() 方法情况下&#xff0c;直接使用貌似并不能生效。 所以想要 Set<实体…

openfalcon架构及相关服务配置详解

一&#xff1a;openfalcon组件 1.falcon-agent 数据采集组件 agent内置了一个http接口&#xff0c;会自动采集预先定义的各种采集项&#xff0c;每隔60秒&#xff0c;push到transfer。 2.transfer agent与transfer建立长连接&#xff0c;将数据汇报给tarnsfer transfer默认监听…

DBeaver连接达梦|虚谷|人大金仓等国产数据库

前言 工作中有些项目可能会接触到「达梦、虚谷、人大金仓」等国产数据库&#xff0c;但通常这些数据库自带的连接工具使用并不方便&#xff0c;所以这篇文章记录一下 DBeaver 连接国产数据库的通用模版&#xff0c;下文以达梦为例&#xff08;其他国产数据库连接操作方式一样&…

[js] script所在的位置会影响首屏显示时间吗

[js] script所在的位置会影响首屏显示时间吗 会&#xff0c;如果script放在头部&#xff0c;js的执行会阻塞dom树的构建个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面…

luogu4462 异或序列

题目大意 给出n,m,k&#xff0c;有n个数的序列&#xff0c;m次询问一段区间&#xff0c;问异或和等于K的子区间的个数。 题解 本题一看就是莫队。但要解决该题需要以下性质&#xff1a; 定理&#xff1a; $$a\oplus bc\Leftrightarrow a\oplus cb\Leftrightarrow b\oplus ca$$ …

Map<String,Object>接收参数,Long类型降级为Integer,报类型转换异常

前言 今天看群里小伙伴问了一个非常有意思的问题&#xff1a; 使用 Map<String,Object> 对象接收前端传递的参数&#xff0c;在后端取参时&#xff0c;因为接口文档中明确该字段类型为 Long &#xff0c;所以对接收的参数进行了强转&#xff0c;即 (Long)参数 &#xf…

adb无法连接安卓手机

确保已安装好手机驱动&#xff08;在设备管理器中能找到安卓的设备&#xff09;查看设备的VID信息找到你的模拟器存放的目录&#xff0c;<例如&#xff1a;C:\Users\Administrator\.android 下找到或新建一个adb_usb.ini文件。文档内容写入VID即可 在cmd上输入adb kill-serv…