const router = createRouter({routes})
// 重写
const routerPush = router.push
router.push = (param)=>{
if (param.blank) {
const {
href
} = router.resolve(param)
window.open(href, '_blank')
}else{
routerPush.call(router, param)
}
}
使用
this.$router.push({ name: RouteName, blank: true, query: {id: id} })
resolve是router的一个方法, 返回路由地址的标准化版本。
resolve(to: RouteLocationRaw): RouteLocation & {
href: string
}