我有一个AngularJS网络应用,我在一组人身上使用ng-repeat。 json数组定义了人员的名字,姓氏和年龄。
在我的表格中,我尝试使用ng-class指令将CSS类应用于所有年轻人。
<table class="table table-striped table-hover">
<tr><th>Firstname</th><th>Lastname</th><th>Age</th></tr>
<tr ng-repeat="person in people | filter:search" ng-class="{success: person.isYoung()}">
<td>{{person.firstname}}</td>
<td>{{person.lastname}}</td>
<td>{{person.age}}</td>
</tr>
</table>
请注意我试图调用person.isYoung(),这是我遇到问题的方法。如果我使用
,事情就有效ng-class="{success: person.age < 30}"
但是,我想把这个逻辑转移到Controller中。
在我的控制器中,我已经添加了这个;
$scope.isYoung = function (person) {
return person.age < 30;
}
但似乎没有被召唤。
app.js中的方法定义对我来说应该是什么样的?
ng-class="{success: person.isYoung()}"
答案 0 :(得分:2)
该功能的签名是
isYoung(person)
这就是您需要在模板中使用的内容:
ng-class="{success: isYoung(person)}"
如果您希望能够使用person.isYoung()
,则需要将此功能添加到阵列中的所有人员:
angular.forEach(persons, function(person) {
person.isYoung = function() {
return person.age < 30;
}
});