在角度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
- 使用jQuery从指令错误的元素高度
- AngularJS调用webmethod
- Jquery UI选项卡在AngularJS中不起作用
- TypeError:无法读取未定义的JavaScript属性’push’
- 如何使用角度从json制作视图(表单)?
- 为什么在切换Bootstrap选项卡时,观看AngularJS指令的宽度不起作用?
- 在AngularJS中获取被点击元素的ID
- Angularjs外部模板:模板无法加载?
- 将jQuery与AngularJS结合使用?
Interesting Posts
没有jQuery的AngularJs中的Highcharts?
如何使用angularjs在新窗口中打开我的页面?
使用html2canvas将带有highcharts图形的html转换为图像
Hide Bootstrap 3 Modal&AngularJS重定向($ location.path)
在Angular JS中初始化jQuery插件(RoyalSlider)
将指令添加到ng-grid生成的元素
Angular指令和Jquery slideToggle函数实现
防止图像在AngularJs中渲染
使用angularjs保留光标位置
我的Angular JS应用程序适用于桌面浏览器,但不适用于移动浏览器