目前我正在使用Blur Admin模板,我有一个侧边栏菜单应该出现的情况取决于用户角色。
尝试后,我发现如果我在jjs -scripting each_file.js
中评论$stateProvider.state(....);
,那么app/pages/components/components.module.js
菜单将从侧边栏菜单中消失。
所以从这里我想我可以实现定义状态取决于用户角色可能就像这样
Components
所以在其他页面模块中。
到目前为止,我有工厂检查从if(user_role == "partner"){
$stateProvider.state(....);
}
我的问题是状态定义位于localStorage
,只接受提供商。
所以我的问题是如何在我有工厂的时候让提供商检查当前的用户角色。
以下是.config()
app/pages/components/components.module.js
这是我的工厂检查用户角色
angular.module('BlurAdmin.pages.components', [
'BlurAdmin.pages.components.mail',
'BlurAdmin.pages.components.timeline',
'BlurAdmin.pages.components.tree',
])
.config(routeConfig);
// should .provider("CheckCurrentUserRole", CheckCurrentUserRole);
function CheckCurrentUserRole(){
///provider code here
}
/** @ngInject */
function routeConfig($stateProvider, /*CheckCurrentUserRoleProvider*/) {
//if(CheckcurrentUserRole.method() == "partner"){
$stateProvider
.state('components', {
url: '/components',
template : '<ui-view></ui-view>',
abstract: true,
title: 'Components',
sidebarMeta: {
icon: 'ion-gear-a',
order: 200,
},
});
//} so if current user is not partner then components sidebar menu doesn't appear.
}
以上是我的逻辑新角度,如果你有更好的方法或更正请告诉我。