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值