Vue路由跳转传参或者打开新页面跳转问题
作者:小火车况且况且 发布时间:2024-04-27 16:01:09
Vue路由跳转传参或打开新页面跳转
1. 通过路由中的name属性
使用params
传递参数, 使用this.$route.params
获取参数
这种方式传递相当于post
请求, 传递的数据不会显示在url
地址栏,但是页面刷新,参数会丢失
// 传递参数
this.$router.push({
name: "首页",
params: {
code: 1
}
})
// 获取参数
this.$route.params
2. 通过路由属性中的path属性
使用query
传递参数, 使用this.$route.query
获取参数
这种方式相当于get
请求, 传递的参数会显示在url
地址栏, 页面刷新,参数还保留在url
上面
// 传递参数
this.$router.push({
path: "/dashboard",
query: {
code: 1
}
})
// 获取参数
this.$route.query
在获取传递参数的时候都是使用this.$route
3. $router 和 $route的区别
$router
可以看到$router
是全局路由VueRouter
实例
$route
是存放路由信息的一个对象, 传递的数据都是存放在$route
中
4. 在Vue项目中点击跳转打开一个新的页面
使用this.$router.resolve({path: "/login"})
可以获取到指定的路由的信息
使用window.open(routeData.href, '_blank')
在新窗口中打开指定的路由页面
query:{code: 1}
传递参数, 但是可以在url
地址栏中看到传递的参数
通过this.$route.query
获取参数
let routeData = this.$router.resolve({ path: '/login',query: {loginName}});
window.open(routeData.href, '_blank');
vue的跳转(打开新页面)
router-link跳转
// 直接写上跳转的地址
<router-link to="/detail/one">
<span class="spanfour" >link跳转</span>
</router-link>
// 添加参数
<router-link :to="{path:'/detail/two', query:{id:1,name:'vue'}}">
</router-link>
// 参数获取
id = this.$route.query.id
// 新窗口打开
<router-link :to="{path:'/detail/three', query:{id:1,name:'vue'}}" target="_blank">
</router-link>
this.$router.push/replace跳转
toDeail (e) {
this.$router.push({path: "/detail", query: {id: e}})
}
// 参数获取
id = this.$route.query.id
toDeail (e) {
this.$router.push({name: "/detail", params: {id: e}})
}
// 注意地址需写在 name后面
//参数获取,params和query区别,query参数在地址栏显示,params的参数不在地址栏显示
id = this.$route.params.id
resolve跳转
//resolve页面跳转可用新页面打开
//2.1.0版本后,使用路由对象的resolve方法解析路由,可以得到location、router、href等目标路由的信息。得到href就可以使用window.open开新窗口了
toDeail (e) {
const new = this.$router.resolve({name: '/detail', params: {id: e}})
window.open(new.href,'_blank')
}
window.open()
1. 在当前窗口打开百度,并且使URL地址出现在搜索栏中.
window.open("http://www.baidu.com/", "_search");
window.open("http://www.baidu.com/", "_self");
2. 在一个新的窗口打开百度
window.open("http://www.baidu.com/", "_blank");
3. 打开一个新的窗口,并命名为"hello"
window.open("", "hello");
另外, open函数的第二个参数还有几种选择:
_top
: 如果页面上有framesets,则url会取代framesets的最顶层, 即, 如果没有framesets, 则效果等同于_self._parent
:url所指向的页面加载到当前frame的父亲, 如果没有则效果等同于_self._media
: url所指向的页面加载到Media Bar所包含的HTML代码区域中.如果没有Media Bar则加到本身.
如果还要添加其它的东西在新的窗口上, 则需要第三个参数:
channelmode : yes|no|1|0
(窗口显示为剧场模式[全屏幕显示当前网页, 包括工具栏等],或频道模式[一般显示]).directories : yes|no|1|0
(是否添加目录按钮, 比如在IE下可能会有一个"链接"这样的按钮在最上面出现)fullscreen : yes|no|1|0
(使浏览器处理全屏幕模式, 并隐藏标题栏和菜单等)menubar : yes|no|1|0
(是否显示浏览器默认的菜单栏)resizeable : yes|no|1|0
(窗口是否可调整大小)scrollbars : yes|no|1|0
(是否允许水平或垂直滑动条)titlebar : yes|no|1|0
(是否添加一个标题栏)toolbar : yes|no|1|0
(是否添加浏览器默认的工具栏)status : yes|no|1|0
(是否显示状态栏)location : yes|no|1|0
(是否显示搜索栏)copyhistory : yes|no|1|0
(似乎已经废弃, 如果只要工具栏显示, 历史按钮就会显示出来)height
: 窗口的高度, 最小值为100像素width
: 窗口的宽度, 最小值为w100像素left
: 窗口的最左边相对于屏幕的距离
来源:https://blog.csdn.net/weixin_43972992/article/details/103832387


猜你喜欢
- 将Python数据类型转换为其他代码格式叫做(序列化),而json就是在各个代码实现转换的中间件。序列化要求:1. 只能有int,str,b
- Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘。如下:1.raw_input2.inputraw_input函数
- fetchone() 返回单个的元组,也就是一条记录(row),如果没有结果 则返回 Nonefetchall() 返回多个元组,即返回多个
- 本文实例讲述了Python读取properties配置文件操作。分享给大家供大家参考,具体如下:工作需要将Java项目的逻辑改为python
- 算法11、分小数和整数:如果小数点个数为1,则可能是小数。如小数点个数为0,则可能是整数。小数点个数非0也非1,那么就不是数字。2、如果是小
- __init__()方法意义重大的原因有两个。第一个原因是在对象生命周期中初始化是最重要的一步;每个对象必须正确初始化后才能正常工作。第二个
- 简介:IDLE是Python软件包自带的一个集成开发环境,可以方便地创建、运行、调试Python程序。本文包括IDEL安装、使用配置、和运行
- 本文实例讲述了php计算给定日期所在周的开始日期和结束日期。分享给大家供大家参考,具体如下:<?php/** * 取得给定日期所在周的
- (需要安装psutil 用来获取服务器资源,以及pymongo驱动)#pip install psutil#pip install pymo
- 代码如下:td=date() '此次为设置当前日期,主要是为了调试方便,实际应用中可以使用当天日期.. str=
- 1、 select top 10 * from ( select top (@Page * 10) ROW_NUMBER() OVER (o
- 1. 错误的类型Error: 所有错误的父类型错误的子类型包括:ReferenceError: 引用的变量不存在TypeErro
- 对于大前端来说,JS可谓是我们的神器,从页面的效果到数据的传递,再到后台的业务,无处不充斥着JS的身影,但是万能的JS也有贪玩的时候,某一时
- 本文实例讲述了vue动态组件和v-once指令。分享给大家供大家参考,具体如下:点击按钮时,自动切换两个组件<component :i
- 由于网络带宽以及某些WAP服务器DECK传输的限制,所以DECK越小越好,最好不要超过1.2K。如果你的需求很复杂,最好分成几个DECK来完
- 前言本文主要介绍的是关于python 3用BeautifulSoup抓取div标签的方法示例,分享出来供大家参考学习,下面来看看详细的介绍:
- Python有两个用于相等比较的运算符,“is”和“==”(等于)。在这篇文章中,我将教你们两者之间的区别,以及通过几个简单地例子说明什么时
- MySQL事务处理(TransAction)思考了很久,决定写一篇关于mysql事务(transaction)的博客,一来嘛,因为最近在复习
- 关于Python语言,众说纷纭,但无外乎两种,强大,垃圾。大多数人还是对Python持肯定意见,认为它很强大。前些天和两个的大学同学聊天,一
- Pandas DataFrame 取一行数据会得到Series的方法如题,想要取如下dataframe的一行数据,以为得到的还是datafr