Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js VueJS3:从路由定义传递数据_Vue.js_Vue Component_Vue Router_Vuejs3 - Fatal编程技术网

Vue.js VueJS3:从路由定义传递数据

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

使用Vue3。我想在路由定义中设置允许的角色,然后在路由之前的
中使用该值。比如:

{
路径:“安全/页面”,
名称:“安全页面”,
组件: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,因此甚至还没有创建新的输入组件

有关元字段的更多信息,请参见: