关于to.meta.roles.includes权限的使用

问题是:includes一直爆红,不知道什么原因。难道是没yarn add包吗?


if(to.meta.roles.includes(role)){ //权限
        next()    //放行
    }esle{
        next({path:"/404"})    //跳到404页面
    }

第一点你看下 to.meta.roles 的打印
第二点 你看下 role 的打印
如有帮助给个采纳谢谢

如果你使用的是Vue.js框架,可以通过以下方式导入includes方法:

import { includes } from 'lodash';

你把报错信息 贴上来

根据您提供的错误信息,首先需要确定 to.meta.roles 的类型是否为数组。可以通过在代码中添加 console.log('to.meta.roles', to.meta.roles) 来检查它的类型。

如果to.meta.roles不是数组类型,可以通过将其转化为数组类型来解决问题:

if(Array.isArray(to.meta.roles) && to.meta.roles.includes(role)) {
  next() // 放行
} else {
  next({ path: '/404' }) // 跳到404页面
}

同时,还需要确认role的类型是否为字符串或者数组类型,因为includes方法只能在数组中使用。

如果以上方法还是不能解决问题,建议您提供更多相关代码,或者重启开发环境、重新安装依赖、更新相关依赖版本等方式,进一步排查问题。

const roles = to.meta.roles as string[]
if (roles.includes(role)) {
}

试试