Angularjs 如何使此过滤器在控制器中的工作方式相同
我想过滤控制器中的数据 这是有效的:Angularjs 如何使此过滤器在控制器中的工作方式相同,angularjs,Angularjs,我想过滤控制器中的数据 这是有效的: <input style=" margin-left: 15px; margin-top :50px; width:31%;" class="form-control" ng-model="ValueSearch" type="text" placeholder="Sort..." id="searchCompanies" autofocus /> <li class="result" ng-repeat="c in Company
<input style=" margin-left: 15px; margin-top :50px; width:31%;" class="form-control" ng-model="ValueSearch" type="text" placeholder="Sort..." id="searchCompanies" autofocus />
<li class="result" ng-repeat="c in CompanyDashData | filter:{companyName:ValueSearch} ">
<li class="result" ng-repeat="c in CompanyDashData | filter:filterinControl ">
但它只返回所有数据。您已替换
filter:{companyName:ValueSearch}
借
因此,如果希望行为相同,filterinControl
必须是一个具有名为companyName
的字段的对象,并且一个值是输入的值
但事实并非如此。它是一个函数,再次调用过滤器并返回过滤后的数组。因此,您正在应用作为筛选器的已筛选集合
你可能想要的是
<li class="result" ng-repeat="c in filterinControl() ">
这将调用
filterinControl()
,并对其返回的过滤数组进行迭代。ummm。。。。你试着这样做:
HTML:
filter:filterinControl
<li class="result" ng-repeat="c in filterinControl() ">
<li class="result" ng-repeat="c in filterinControl">
$scope.filterinControl = function () {
return $filter('filter')($scope.CompanyDashData,{companyName: $scope.ValueSearch});
}