所以如果我有一个数组:
$scope.letters = [{"id":"a"},{"id":"b"},{"id":"c"}];
和另一个数组
$scope.filterBy = ["b","c","d"];
而且我想要一些ng重复过滤$ scope.letters只有$ filterBy中出现的项目。
我想能够做一些事情:
<span ng-repeat="{{letter in letters|filter: letter.id in filterBy }} > {{letter.id}} </span>
并打印b,c
你应该尝试这样的事情:
JS:
angular.module('Test',[]); function Ctrl($scope) { $scope.letters = [ {id: 'a'},{id: 'b'},{id: 'c'} ]; $scope.filterBy = ['b','c','d']; $scope.filteredLetters = function () { return $scope.letters.filter(function (letter) { return $scope.filterBy.indexOf(letter.id) !== -1; }); }; } Ctrl.$inject = ['$scope'];
HTML:
<div ng-repeat='letter in filteredLetters(letters)'>{{letter.id}}</div>
你可以试试live example。
原文地址:https://www.jb51.cc/angularjs/144500.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。