如果我的服务中存在某些特定角色,我想创建一个类似 ngDisabled 的属性指令来启用或禁用元素。
angular.module(...)
.service('RolesSerivce', function() {
this.hasRole = function(roleName) {
return this.roles.indexOf(roleName)>1;
};
this.setRoles = function(rolesArr) {
this.roles = rolesArr;
};
this.setRoles(['ROLE_CAN_CLICK'])
}).direcive('hasRole', function() {
??????????????????
// use RolesSerivce.hasRole inside implemetation
??????????????????
});
在我的 HTML 中,我想使用如下指令:
<button has-role="ROLE_CAN_CLICK" ng-disabled="extraValidation > 0">Click me</button>
在上面的示例中,has-role
指令必须覆盖ng-disable
,它必须是强制性的。但是ng-disable
必须在has-role
is时运行true
。
我的问题,有人可以帮助我执行指令吗?我怎样才能做到这一点?