我的Vue路线为
const ifAuthenticated = (to, from, next) => {
if (store.getters.isAuthenticated) {
next()
return
}
next('/login')
}
const checkAgentPermissions = () => {
return false
}
export const routes = [
{
path: '/users',
beforeEnter: ifAuthenticated,
component: Layout,
meta: { title: 'Agent Onboarding', icon: 'address-card' },
hidden: checkAgentPermissions,
children: [
{
path: '',
name: 'Users',
component: () => import('@/views/users/index.vue')
},
{
.....some more childrens
}
]
}
]
但通过函数调用时,隐藏总是正确的。 如果我将从checkAgentPermissions隐藏的选项更改为false
hidden: false // works perfectly
为什么函数不返回false,实际上我需要在fn中进行一些检查,然后根据需要返回true / false。
forEach路线,我通过检查hidden是否为true / false来在vue组件中渲染它们。
答案 0 :(得分:1)
尝试执行隐藏的功能:
hidden: checkAgentPermissions(),
children: [
...