vue如何在新窗口打开页面

 更新时间:2023年11月09日 09:32:54   作者:donggua_123  
这篇文章主要介绍了vue如何在新窗口打开页面问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue在新窗口打开页面

有时候后我们会需要在一个新窗口打开页面,而我们都知道,vue是单页面的应用,通过router在内部跳转的。

但是依然有办法实现这个需求。

刚开始在网上找了一下,有两种方式,一种是给outer-link标签添加tag=a跳转打开新窗口,亲测有效。

<router-link tag="a" target="_blank" :to="{name:'detail',query:{goodsId:'1111'}}">热门好货</router-link>

再一种就是通过router来实现,使用resolve方法将路径转换出来,window来打开

let routeData = this.$router.resolve({
   name: "detail",
   query: {goodsId:'1111'}
});
window.open(routeData.href, '_blank');

但是我按这种方式写的时候,却跳转到根路径去了

路由配置

        {
          path: '/home/integral-record',
          component: IntegralRecord,
          meta: {
            hasMaster: true,
            name: '积分变更记录'
          }
        }

按理说routeData.href应该是/home/integral-record才对

但实际打印出来的却是/shop/

这就导致跳转到了首页去,这显然不是我想要的,暂时没找到原因。但是当我们一定想要用路由跳转的时候怎么办呢?

我们小组长找到了一个方法:

给a标签动态设置href路径,然后主动触发click事件来跳转亲测有效

就是在页面添加一个a标签,款高设为零或者隐藏,只要看不到就行,设置好target属性为_blank,href设为空

<a class="target" href="" target=" rel="external nofollow" _blank"></a>

给目标元素绑定@click=“test”事件,当点击目标元素的时候触发:

test() {
        let target = this.$refs.target
        target.setAttribute('href', window.location.origin + '/home/integral-record')
        target.click()
      }

这样就成功在新窗口打开了页面。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Vue使用html2canvas实现截取图片并保存

    Vue使用html2canvas实现截取图片并保存

    html2canvas是一个JavaScript库,它可以将HTML元素转换为Canvas元素本文将介绍一下Vue如何使用html2canvas实现截取图片并保存功能,需要的可以参考下
    2023-12-12
  • element实现合并单元格通用方法

    element实现合并单元格通用方法

    这篇文章主要介绍了element实现合并单元格通用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Vue之Element级联选择器多选传值以及回显方式(树形结构)

    Vue之Element级联选择器多选传值以及回显方式(树形结构)

    这篇文章主要介绍了Vue之Element级联选择器多选传值以及回显方式(树形结构),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Vue中的事件绑定与解绑方式

    Vue中的事件绑定与解绑方式

    这篇文章主要介绍了Vue中的事件绑定与解绑方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • 解决Vue项目中Emitted value instead of an instance of Error问题

    解决Vue项目中Emitted value instead of an 

    这篇文章主要介绍了解决Vue项目中Emitted value instead of an instance of Error问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • vue中关于checkbox使用的问题

    vue中关于checkbox使用的问题

    这篇文章主要介绍了vue中关于checkbox使用的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • el-select二次封装实现可分页加载数据的示例代码

    el-select二次封装实现可分页加载数据的示例代码

    使用el-select时一次性渲染几百条数据时会造成页面克顿, 可以通过分页来实现,所以本文给大家介绍了el-select二次封装实现可分页加载数据,文中有详细的代码讲解,具有一定的参考价值,需要的朋友可以参考下
    2023-12-12
  • vue自定义键盘信息、监听数据变化的方法示例【基于vm.$watch】

    vue自定义键盘信息、监听数据变化的方法示例【基于vm.$watch】

    这篇文章主要介绍了vue自定义键盘信息、监听数据变化的方法,结合实例形式分析了vue.js基于vm.$watch进行事件监听相关操作技巧,需要的朋友可以参考下
    2019-03-03
  • 说说Vue.js中的functional函数化组件的使用

    说说Vue.js中的functional函数化组件的使用

    这篇文章主要介绍了说说Vue.js中的functional函数化组件的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • vue使用ajax获取后台数据进行显示的示例

    vue使用ajax获取后台数据进行显示的示例

    今天小编就为大家分享一篇vue使用ajax获取后台数据进行显示的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08

最新评论