У меня есть Map<string, Map<string, boolean>>
, определенный в моем appConfig.json, и когда я пытаюсь получить значения из карты с помощью .get (), я получаю сообщение об ошибке, что это не функция.
Это вмой appConfig.json
"rolePermissions" : [
{"name" : "Admin", "value" : [
{"name" : "customerList", "value" : "true"},
{"name" : "customerDetails", "value" : "true"},
{"name" : "addCustomerUser", "value" : "true"},
{"name" : "editCustomer", "value" : "true"},
{"name" : "updateBackend", "value" : "true"},
{"name" : "createCustomer", "value" : "true"},
{"name" : "jobsList", "value" : "true"},
{"name" : "jobsView", "value" : "true"},
{"name" : "jobsEdit", "value" : "true"},
{"name" : "jobsDownload", "value" : "true"},
{"name" : "usersList", "value" : "true"},
{"name" : "usersEdit", "value" : "true"},
{"name" : "usersDelete", "value" : "true"},
{"name" : "usersCreate", "value" : "true"}
]}
, и я установил свойство в моем appConfig.ts как: public rolePermissions: Map>;
Вот так я получаю доступ к rolePermissions:
let rolePerms = this.appConfig.rolePermissions;
let rolePerm = rolePerms.get("Admin");
Когда я пытаюсь извлечь значение «Admin» из карты, я получаю сообщение об ошибке:
ERROR [app-router] TypeError: rolePerms.get is not a function
at Utils.userRoleAuthorized (utils.ts:29)
at NewCustomer.canActivate (newCustomer.ts:42)
at iterate (index.ts:7)
at processActivatable (index.ts:7)
at CanActivateNextStep.run (index.ts:7)
at next (index.ts:7)
at Object.<anonymous> (shell.ts:58)
at step (vendor-bundle.js:4344)
at Object.next (vendor-bundle.js:4325)
at vendor-bundle.js:4318
at Promise._execute (vendor-bundle.js:824)
at Promise._resolveFromExecutor (vendor-bundle.js:2601)
at new Promise (vendor-bundle.js:2197)
at __awaiter (vendor-bundle.js:4314)
at Object.run (shell.ts:45)
at next (index.ts:7)