[英]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.