我正在使用 AngularJS,它很棒。我在文档中找不到它 - Javascript 中与此 AngularJS 表达式等效的是什么:
<div>{{ (myList| filter:mySearch).length }}</div>
谢谢您的帮助。
我正在使用 AngularJS,它很棒。我在文档中找不到它 - Javascript 中与此 AngularJS 表达式等效的是什么:
<div>{{ (myList| filter:mySearch).length }}</div>
谢谢您的帮助。
它在 Angular 的过滤器文档中:
{{ 过滤器表达式 | 过滤器:表达式}}
$filter('filter')(数组,表达式)
在您的情况下,它看起来像$filter('filter')(myList, mySearch)
.
作为替代语法,您还可以直接注入过滤器,而无需通过$filter
服务。例如,要将filter
过滤器注入您的控制器,您可以编写:
MyCtrl = function($scope, filterFilter) {
$scope.filtered = filterFilter(myArray, expression);
}
一个与如何在控制器中使用过滤器非常相似的问题?
在你的 html
<input ng-model="search">
<div ng-repeat="thing in things | filter:searchResults"></div>
在你的 JS
$scope.$watch('search', function (newValue, oldValue) {
var searchResults = filterFilter($scope.things, $scope.search);
});