vue-router在新窗口打开页面

306 阅读1分钟

方法一:使用标签

需要注意的是,router-link并不支持 target="_blank"属性,所以需要tag=“button”属性把router-link渲染成标签。

<router-link tag="button" target="_blank" :to="{name:'List',query:{id: 'val'}}">详情页</router-link>

方法二:通过router.resolve()实现

有些时候需要在点击事件或者函数中实现页面跳转到新的界面,这时候就可以通过router.resolve()来实现。

 //定义一个路径
      const href = this.$router.resolve({
        path: `/visualizationShow`,
        query: { key: 需要传递的值 },
      }).href;
      //打开新的页面 到 href 这个页面
      window.open(href, "_blank");
      
      
     // 新窗口接收参数的方法: 
  watch: {
    "$route.query.key": {
      deep: true,
      handler(val) {
           console.log(val) // 获取url上传递的参数
      },
    },
  },