繁体   English   中英

如何在Angular JS控制器中获取返回过滤器数组数据?

[英]How to get the return filter array data in angular js controller?

我正在为我的应用程序使用自定义过滤器。

div class="cust-post" ng-repeat="post in newsfeeddata | customFilter:companyFilters"

在上面的代码customFilter返回数组数据时,我需要使用该数组数据到我的控制器中。

我不知道如何检索该数组数据。

有人请帮助我。

ng-repeat尝试as关键字,然后可以通过$scope.array访问过滤后的数组:

 angular.module('app', []) .controller('ctrl', ['$scope', function($scope) { $scope.items=[ {name:'A'}, {name:'BA'}, {name:'CB'}, ]; $scope.test = function() { $scope.out = $scope.array.map(x => x.name).join(', '); } }]) 
 <script src="//code.angularjs.org/snapshot/angular.min.js"></script> <div ng-app='app' ng-controller="ctrl"> <input type='text' ng-model='search' ng-init='search = "A"'/> <ul> <li ng-repeat='item in items | filter: search as array'>{{item}}</li> </ul> <input type='button' ng-click='test()' value='Test'/> <hr/> {{out}} </div> 

返回数组的过滤函数:

app.filter('customFilter', function() {
    return function( newsfeeddata, companyFilters ) {
      return items.filter(function(element){
        return companyFilters >= element.minValue;//Compare the values
      });
    }
});

在控制器中:

var filteredData = $filter('customFilter')(newsfeeddata, companyFilters);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM