vue中跳转页面到新窗口并传参


问题描述:

做项目时遇到一个需求:在新窗口打开要跳转的页面;

在代码实现层面表现为:使用$router.push或者$router.go在单击事件或者函数中实现页面跳转;但在vue2.0之后,它们不再支持_blank新窗口打开的属性;

解决方案:

方法一:

把路径拼接后,使用window.open()在新窗口打开页面

handleLinkDetail(value) {
      // this.$router.push(`/detail/index?id=${value.id}&flag=1`);
      let detailUrl = `#/detail/index?orgId=${value.id}&sourceFlag=1`
      window.open(detailUrl, '_blank');
},

 方法二:

使用$router.resolve,该方法会返回一个href属性的值,该值是一个带#的hash片段标识符,即是要跳转的路径;然后通过window.open在新窗口打开即可;

handleLinkDetail(value) {
      // this.$router.push(`/detail/index?id=${value.id}&flag=1`);
      let detailUrl = this.$router.resolve({
        path: "/detail/index",
        query: {
          id: value.id,
          flag: 1
        }
      });
      //href: "#/detail/index?id=9643215113&sourceFlag=1"
      window.open(detailUrl.href, '_blank');
},

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值