一尘不染

有条件的角度ng重复

angularjs

你如何用ng-
repeat做这样的事情?我将使用文档中的示例,该示例将一个包含2个朋友的数组初始化为一个数组,如果我只想对所有26岁以上的朋友重复一次该怎么办?

    <!doctype html>
<html ng-app>
<head>
<script src="http://code.angularjs.org/1.0.6/angular.min.js"></script>
</head>
<body>
<div ng-init="friends = [{name:'John', age:25}, {name:'Mary', age:28}]">
I have {{friends.length}} friends. They are:
<ul>
<li ng-repeat="friend in friends">
[{{$index + 1}}] {{friend.name}} who is {{friend.age}} years old.
</li>
</ul>
</div>
</body>
</html>

阅读 169

收藏
2020-07-04

共1个答案

一尘不染

创建一个自定义过滤器。

HTML:

<html ng-app="someApp">

<li ng-repeat="friend in friends | age">

JS:

var someApp=angular.module('someApp', []);

someApp.filter('age', function() {
    return function(input, uppercase) {
        var out = [];
        for (var i = 0; i < input.length; i++) {
            if(input[i].age >= 26){
                out.push(input[i]);
            }
        }
        return out;
    }
});
2020-07-04