数组 – 可以通过在另一个数组中的包含来过滤angular.js吗?
发布时间:2020-12-17 08:12:58 所属栏目:安全 来源:网络整理
导读:所以如果我有一个数组: $scope.letters = [{"id":"a"},{"id":"b"},{"id":"c"}]; 和另一个数组 $scope.filterBy = ["b","c","d"]; 而且我想要一些ng重复过滤$ scope.letters只有$ filterBy中出现的项目。 我想能够做一些事情: span ng-repeat="{{letter in
所以如果我有一个数组:
$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 我知道这是一个非常愚蠢的例子,但是有没有办法基于另一个数组对象的内容过滤一个angular.js表达式?
你应该尝试这样的事情:
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。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |