在角度js中使用ng-class中的函数

我使用ng-class添加CSS类。 即使有很多关于此的文章,我也无法使用ng-class添加函数调用。

我有一个以下表达式。

 ng-class="{'highlighter-row-Class' : (file.id == 1 && file.processed), 'bold-row-Class' : lastSelectedResumeId == file.attributes.name, 'failed-doc': !file.processed}" 

现在,可以添加多个类。 但是,我想在这里再添加一个条件,它将调用一个方法并返回一个类名:

 $scope.getclass = function() { return 'someclass'; } 

我的尝试在最后一个条件之后在ng-class使用了这个方法,但它没有用。 那么,任何人都可以告诉我如何使用ng-class正确地完成它?


另一种尝试(建议后):

 ng-class="[{'highlighter-row-Class' : (file.id == 1 && file.processed), 'bold-row-Class' : lastSelectedResumeId == file.attributes.name, 'failed-doc': !file.processed }, getClassForHrms(file)]" 

function:

 $scope.getClassForHrms = function (file) { if (file.attributes.hrmsMandatoryFieldsMissing) { return "missingfieldspresent"; } else if (file.attributes.isDocumentDuplicated) { return "documentduplicate"; } else if (!file.attributes.isDocumentDuplicated) { return "documentuploadfailed"; } }; 

二手CSS:

 .missingfieldspresent { color: red; } .documentduplicate { color: purple; } .documentuploadfailed { color: deeppink; } 

这就是生成的HTML呈现的内容

  

您需要一个类数组 ,其中数组的一个元素可以是具有条件的类的对象,另一个是函数调用。 一个简单的例子是:

 ng-class="[{'some_class' : condition}, function_class()]" 

这是一个演示:

 var app = angular.module('myApp', []); app.controller('myCtrl', function($scope) { $scope.bb = function() { return "b"; } }); 
 .a { color: #999999; } .b { background-color: #F1F1F1; } .c { font-size: 30px; } 
  

A: color : #999999
C: font-size : 30px

Testing classes