向 AngularJS 中的对象添加方法?
Adding a method to an object in AngularJS?
我有一个 AngularJS 网络应用程序,我在其中对一组人使用 ng-repeat。 json 数组定义人员的名字、姓氏和年龄。
在我的 table 中,我正在尝试对所有使用 ng-class 指令的年轻人应用 CSS class。
<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}"
但是,我想将该逻辑转移到控制器中。
我在控制器中添加了这个;
$scope.isYoung = function (person) {
return person.age < 30;
}
但好像没有这么叫。
我在 app.js 中的方法定义应该是什么样子才能使它正常工作?
ng-class="{success: person.isYoung()}"
函数的签名是
isYoung(person)
这就是您需要在模板中使用的内容:
ng-class="{success: isYoung(person)}"
如果你希望能够使用person.isYoung()
,那么你需要将这个函数添加到数组中的所有人员中:
angular.forEach(persons, function(person) {
person.isYoung = function() {
return person.age < 30;
}
});
我有一个 AngularJS 网络应用程序,我在其中对一组人使用 ng-repeat。 json 数组定义人员的名字、姓氏和年龄。
在我的 table 中,我正在尝试对所有使用 ng-class 指令的年轻人应用 CSS class。
<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}"
但是,我想将该逻辑转移到控制器中。
我在控制器中添加了这个;
$scope.isYoung = function (person) {
return person.age < 30;
}
但好像没有这么叫。
我在 app.js 中的方法定义应该是什么样子才能使它正常工作?
ng-class="{success: person.isYoung()}"
函数的签名是
isYoung(person)
这就是您需要在模板中使用的内容:
ng-class="{success: isYoung(person)}"
如果你希望能够使用person.isYoung()
,那么你需要将这个函数添加到数组中的所有人员中:
angular.forEach(persons, function(person) {
person.isYoung = function() {
return person.age < 30;
}
});