ngRepeat中的equals是什么意思?

7
< p > ng-repeat属性值中的等号代表什么意思?< /p >
<li ng-repeat="person in people = (people | orderBy: firstname)">

不要这样做:

<li ng-repeat="person in people | orderBy: firstname">

我在ngRepeat的文档中没有看到任何关于其使用的示例。

3
根据我的理解,第一条语句将按照 firstname 排序后的 (people | orderBy: firstname) 的过滤结果赋值给变量 people。 - Anupam Singh
2
@AnupamSingh 那么在过滤后,实际的作用域人员会发生变化?因此,我可以说使用人员的另一个重复器已经被过滤了,这是正确的吗? - Cameron
是的,你说得对。 - Anupam Singh
2个回答

8

它有助于计算过滤了多少个对象,例如。

function People($scope) {
  $scope.people = [{
    firstname: 'a'
  }, {
    firstname: 'c'
  }, {
    firstname: 'b'
  }, {
    firstname: 'c'
  }]
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app ng-controller="People">
  <ul>
    <li ng-repeat="person in filteredPeople = (people | filter: 'c')">{{person.firstname}}</li>
  </ul>
  Total filtered: {{ filteredPeople.length }}
</div>


-2

@Krzysztof - 没有使用“=”运算符来显示过滤对象数量的要求。它可以在没有它的情况下完成。所以,你完全错了。

<html>
<head>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.min.js"></script>
</head>
<body ng-app="myApp" ng-controller="myCtrl"> 
    <p ng-repeat="x in people | orderBy: 'age'">{{x.name}},{{x.age}}</p> 
    <p>Total Filtered: {{people.length}}</p>
<script>
//Module declaration
var app = angular.module('myApp',[]);
//controller declaration
app.controller('myCtrl',function($scope,$timeout){
    $scope.people = [{name:"Peter",age:15},{name:"Julie",age:28},{name:"Roger",age:17}];

});
</script>

</body> 
</html>

1
请提供代码,显示有多少人年龄为15岁。 - Krzysztof Safjanowski

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接