我正在尝试检查用户是否具有component
的{{1}}中的特定角色。
例如,这可能是我的会话服务:
template
然后我会在我的function Session() {
'ngInject';
var userRoles = {};
...
function hasRole(role) {
if(userRoles[role]) {
return true;
}
else {
return false;
}
};
return {
getUserRoles: getUserRoles,
setUserRoles: setUserRoles,
hasRole: hasRole
};
};
方法中为$ rootScope提供服务:
.run()
但似乎我无法从我的组件模板访问我的会话服务:
$rootScope.session = Session;
仅在我指定$ root服务时才有效:
<div ng-show="session.hasRole('TEST')">
Hi, {{session.getUserRoles() | json}}
</div>
为什么?在使用angular <div ng-show="$root.session.hasRole('TEST')">
Hi, {{$root.session.getUserRoles() | json}}
</div>
架构时,如何避免使用$root
来访问我的$rootScope
服务?