Estoy trabajando en un proyecto que ya empezó y mi problema es el siguiente:
Tengo una mutación, que generará un menú, dependiendo de si el usuario tiene permiso para acceder o no, esto se calcula con un captador.
let menuList = []; appRouters.forEach(item => { // eslint-disable-next-line no-console if (item.permission !== undefined) { let hasPermissionMenuArr = []; hasPermissionMenuArr = item.children.filter(child => { if (child.permission !== undefined) { //if (child.permission.includes('operator')) { console.log(hasPermission(child.permission)) if (hasPermission(child.permission)) { return child; } } else { return child; } });El código "funcionaría" bien, pero cuando accede a los getters para verificar si el usuario tiene permiso para ese menú, los getters que uno devuelve la función tiene que recibir parámetros, y no el valor.
export const hasPermission = state => permission => { return isGranted(state, permission); };aquí la otra función del getter
function isGranted(state, permissionName) { return ( state.user !== undefined && state.user.roles !== undefined && state.user.roles.some(p => { return p.toLowerCase() === permissionName.toLowerCase(); }) ); }Sé que el getter está llamando a una tercera función, pero aun así, al getter hasPermission solo le he puesto un return de un console.log del permiso que se le pasa, y aun así devuelve la función en texto.
se que hay algo que no entiendo