vue实现跳转浏览器新的标签页

一般单页面应用,vue都是通过vue-router来做跳转(this.router.push,this.router.replace),不会像多页应用一样另起新标签页面显示(注:不是打开新的浏览器页面)。要想实现,可以用以下方式:

let newpage = this.$router.resolve({ 
      name: 'messageInfo',
      query:{
          objectType:1,
          infoId:id
      }   
})
window.open(newpage.href, '_blank');

优点:此方式,可以把sessionStorage 中的token一起带过去。

缺点:在新标签页和旧标签页,组件之间方法调用会失效

只要将vue-router和windwow.open结合就好了。原理很简单,获取到需要跳转的地址,再把地址传递给window.open。

window.open会新建窗口打开路由地址,原页面的路由不做跳转。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一:什么是闭包?闭包的用处? (1)闭包就是能够读取其他函数内部变量的函数。在本质上,闭包就 是将函数内部和函数外...
    xuguibin阅读 9,817评论 1 52
  • 一、前言 要学习vue-router就要先知道这里的路由是什么?为什么我们不能像原来一样直接用 标签编写链接哪?...
    浪里行舟阅读 67,818评论 12 203
  • PS:转载请注明出处作者: TigerChain地址https://www.jianshu.com/p/9a7d7...
    TigerChain阅读 64,148评论 9 218
  • VUE Vue :数据驱动的M V Vm框架 m :model(后台提供数据),v :view(页面),vM(模板...
    wudongyu阅读 5,450评论 0 11
  • 前言 vue-router是什么:是vue.js官方的路由管理器和vue.js的核心深度的集成,让开发者更加简单的...
    GUAN_one阅读 3,791评论 0 2