vue是单页面应用设计的渐进式框架,但是有时候在项目中也会出现新窗口打开页面的情况,此时,就需要用vue-router来解决。
方法一:使用标签
通过 target="_blank", 跳转到新的界面
<router-link
target="_blank"
:to="{path:'/bpm/manager/form',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上传递的参数
},
},
},