vue路由跳转打开新页面的方式---kalrry
vue-router 路由跳转打开新页面的两种方式
·
一、简介
业务上需要实现跳转详情时打开新页面,通常办法如下
1、声明式
<router-link>不支持 target="_blank"属性,如果需要打开一个新窗口必须要用<a>标签
但事实上vue2版本的srouter-link>是支持 target="blank" 属性的(tag="a"),
如下:
<router-link target="_blank" :to="{path:'/home';query:{id:'1'}}">打开新页面</router-link>
2、编程式
$router.push 和 $router.go
但是vue2.0以后,这种方式就不支持新窗口打开的属性了,这个时候就需要使用如下方式
this.$router.resolve
二、例子
listPush(i) {
// console.log(i, 'i')
// console.log(JSON.stringify(i), 'i')
let routeUrl = this.$router.resolve({
path: "/zjzbxq",
query: {
i: JSON.stringify(i)
}
})
window.open(routeUrl.href, '_blank') //关键在此
},
更多推荐
已为社区贡献3条内容
所有评论(0)