vue路由跳转打开新页面的方式---kalrry

一、简介

业务上需要实现跳转详情时打开新页面,通常办法如下

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') //关键在此
    },
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐