使用$router.push
时如此:
this.$router.push({name: 'Home'})
...似乎我的路线元字段未被识别。这是我的路线元字段以及我如何称呼它们:
路线元字段
router.beforeEach((to, from, next) => {
if (to.matched.some(record => record.meta.requiresAuth)) {
// this route requires auth, check if logged in
// if not, redirect to login page.
if (!auth.user.authenticated) {
next({
path: '/login'
})
} else {
next()
}
} else {
next() // make sure to always call next()!
}
})
router.beforeEach((to, from, next) => {
if (to.matched.some(record => record.meta.preventAdmin)) {
// this route shouldn't be available for admin, check role
// if so, redirect to admin area.
if (auth.user.role === '1') {
next({
path: '/admin/users'
})
} else {
next()
}
} else {
next() // make sure to always call next()!
}
})
路线
routes: [
{
path: '/',
name: 'Home',
component: Home,
meta: { requiresAuth: true, preventAdmin: true }
},
]
如果我在特定路线上刷新,他们会按预期工作。
在使用$router.push
时,我是否必须采取措施确保我的路线元字段有效?
答案 0 :(得分:0)
您可以构建路由器视图:
<router-view :key="$route.path"></router-view>
与页面路由上的页面刷新达到相同的结果(至少对于路由器视图的内容)。我希望能够做到这一点,但如果它没有,请告诉我。