vue中使用router打开一个新的窗口

一个单页应用打开一个新的窗口不是很好控制,比如权限的处理,因为原先的页面不会自动刷新,方法很简单:

let routeData = this.$router.resolve({
name: "housingDetails",
query: {id:id,domain:this.domain},
params:{id:id,domain:this.domain}
});
window.open(routeData.href, '_blank');


或者使用:
<router-link target="_blank" :to="{path:'/home',query:{id:'1'}}">新页面打开home页</router-link>相当于 tag='a'

经过尝试发现query的传值可以在新页面通过this.$route.query.id的方式取值,但是使用params时得注意你的路由定义的时候得是xxx/xxx/:id/:domain;否则你将取不到params值

posted @ 2019-07-20 22:17  认真的四季豆  阅读(5685)  评论(0编辑  收藏  举报