Vue.js VueJS3:从路由定义传递数据
使用Vue3。我想在路由定义中设置允许的角色,然后在路由之前的Vue.js VueJS3:从路由定义传递数据,vue.js,vue-component,vue-router,vuejs3,Vue.js,Vue Component,Vue Router,Vuejs3,使用Vue3。我想在路由定义中设置允许的角色,然后在路由之前的中使用该值。比如: { 路径:“安全/页面”, 名称:“安全页面”, 组件:SecurePage, 参数:{role:admin}, } 然后 const-guard={ 模板:`…`, 路由前(到、从、下一个){ 下一步(vm=>{ if('admin'==vm.$route.params.role){ } }) }, } 因为它不起作用。有任何可能吗?您在尝试时无法从视图访问路由器参数定义。你需要这样的东西: { pa
中使用该值。比如:
{
路径:“安全/页面”,
名称:“安全页面”,
组件:SecurePage,
参数:{role:admin},
}
然后
const-guard={
模板:`…`,
路由前(到、从、下一个){
下一步(vm=>{
if('admin'==vm.$route.params.role){
}
})
},
}
因为它不起作用。有任何可能吗?您在尝试时无法从视图访问路由器参数
定义。你需要这样的东西:
{
path: "secure/page",
name: "SecurePage",
component: SecurePage,
meta: { role: 'admin' }
}
然后在视图中,而不是在vm.$route.params.role
中使用vm.$route.meta.role
:
beforeRouteEnter(to, from, next) {
next(vm => {
if ('admin' === vm.$route.meta.role) {
}
})
}
正如您所知,beforeRouteEnter
guard没有访问权限,因为在确认导航之前调用了guard,因此甚至还没有创建新的输入组件
有关元字段的更多信息,请参见:
您无法在尝试时从视图访问路由器参数
定义。你需要这样的东西:
{
path: "secure/page",
name: "SecurePage",
component: SecurePage,
meta: { role: 'admin' }
}
然后在视图中,而不是在vm.$route.params.role
中使用vm.$route.meta.role
:
beforeRouteEnter(to, from, next) {
next(vm => {
if ('admin' === vm.$route.meta.role) {
}
})
}
正如您所知,beforeRouteEnter
guard没有访问权限,因为在确认导航之前调用了guard,因此甚至还没有创建新的输入组件
有关元字段的更多信息,请参见: