0
我有一个按钮只能用于“管理员”类型的用户。因此,我验证了登录系统的用户的权限组,并确定是否显示/ hdie按钮。所以我尝试,ng-if/ng-show/ng-hide,没有任何工作......我作为监视器登录,并且按钮不可用。控制器内的HIde按钮里面的列定义
我的代码:
app.controller('OrganizationsController',['$rootScope', '$scope', '$modal', 'HelperService', 'AuthService', '$state', '$http', function ($rootScope, $scope, $modal, HelperService, AuthService, $state, $http) {
var controllerScope = $scope;
controllerScope.organizationsData = {};
controllerScope.organizationsData.ajax = {url:'/api/organizations/', dataSrc:''};
controllerScope.organizationsData.ajax.beforeSend = function (xhr) {
xhr.setRequestHeader("Authorization", AuthService.authToken());
}
controllerScope.permissionGroup=$rootScope.permissions.group_name;
controllerScope.organizationsData.columns = [
{"data":null,"render":function(data) {
return '<a href="/#/organization/'+data.id+'">'+data.data.name+'</a>';
}},
{"data":"domain","defaultContent":""},
{"data":null, "orderable":false, "render":function(data){
return '<button class="btn btn-default btn-sm" style="margin-right:5px;" ng-if="controllerScope.permissionGroup.indexOf(\'Administrator\')!==-1" onclick="angular.element(this).scope().openOrganizationPermissionsSettings(\''+data.id+'\')"><i class="fa fa-wrench"></i></button>'
+'<button class="btn btn-default btn-sm" style="margin-right:5px; " onclick=\'angular.element(this).scope().openNewOrganizationModal('+JSON.stringify(data)+')\'><i class="fa fa-pencil"></i></button>'
+'<button class="btn btn-default btn-sm" onclick="angular.element(this).scope().deleteOrganization(\''+data.id+'\')"><i class="fa fa-trash"></i></button>';
}}];
controllerScope.deleteOrganization = function (organizationId) {
HelperService.deleteItem(organizationId, 'organization', '/api/organizations/');
};
所以最重要的线路有:
controllerScope.permissionGroup=$rootScope.permissions.group_name
返回 “监视器”
和
<button class="btn btn-default btn-sm" style="margin-right:5px;"
data-if="controllerScope.permissionGroup.indexOf(\'Administrator\')!==-1" onclick="angular.element(this).scope().openOrganizationPermissionsSettings(\''+data.id+'\')">
<i class="fa fa-wrench"></i></button>'
,我创建按钮和管理其知名度。
现在按钮始终可用作为上面的图像。
只要使用ng-if?如何使用$ compile? –
@AndréBastos根本没有,所有的角度指令应编译 –
对我来说很简单,使用ng-if ..如何用ng-if做到这一点?例如..如果我使用ng-.click onclick事件不弹出,而不是onclick它的工作... –