【vue-router,使用router.resolve打开新页面路由跳转】

vue-router,打开新页面路由跳转

方法

传参

let {
    
     href } = this.$router.resolve({
    
    
	path: '/path',
	query:{
    
    
	    id: id ,
	    year: year
	}
})
window.open(href, '_blank');

获取参数

mounted(){
    
    
	this.data = this.$route.query.id
	console.log(this.data)
},

router.resolve

router.resolve方法返回路由地址的标准化版本。

resolve接收两个参数: rawLocation、currentLocation(可选)。

  • 其中rawLocation是待转换的路由,rawLocation可以是个对象也可以是个字符串。
  • currentLocation不传默认是currentRoute。

参考:

https://blog.csdn.net/qq_33635385/article/details/125175571?spm=1001.2014.3001.5502

window.open()的三个参数

window.open("要跳转的网址", "跳转形式或者名字", "给出窗口添加新的的属性(字符串形式)");

例子:

window.open("###", "_blank","height=600, width=600, top=50, left=50, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no");

第一个参数为地址: url

第二个参数为 打开方式或者窗口命名

  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 : 窗口的宽度, 最小值为100像素
left : 窗口的最左边相对于屏幕的距离

猜你喜欢

转载自blog.csdn.net/weixin_52755319/article/details/128092708
今日推荐