前沿
在使用vue做项目以来一直做的是单页面应用的移动端项目,最近一直在做pc端的项目,所以就会遇到各种各样的奇葩需求,话说你们见过那个测试pc段项目的时候将浏览器放大到最大倍数,真是醉醉的了,这样来的话google也全是bug,而且神奇的产品竟然说了一句,放大了一屏幕就装不下,我真的很想。。。。。
醉了。每日吐槽一下,不说了,遇到一个需求就是vue路由跳转到新页面并打开新的窗口,然后就各种chrome,遇到这种坑,还好最后搞出来了。记录下来,方便以后使用。
vue 跳转到新页面有两种方式
第一种:
router-link 方法,在vue中渲染为a标签,_blank打开新页面。
<router-link target="_blank" :to="{path:'/FundManger/FundMangerDetail',query:{managerId: mang.code}}">
<span class="routerSpan">{{ mang.name }} </span>
</router-link>
第二种:
使用router的resolve属性,官网是这么解释的::解析目标位置::格式和 <router-link> 的 to prop 一样
let routerdata = this.$router.resolve({
name: "基金对比", //此name就是基金对比页面path的name,在router里边配好的该页面的名字,这样直接就可以匹配到该页面的路径
params: {
isFavorites: "2"
}
});
let newhref = routerdata.href + "?isFavorites=" + 2;
window.open(newhref, "_blank");
使用window.open和$router.resolve结合使用跳转。
结束语:至此就完成了跳转到新页面了,单页面应用还可以这么搞,真是脑中羞涩限制了我的想象力。做完这个发现小编还是有好多的不足的地方,还是要多多学习。加油吧。愤青。