52

我正在使用 AngularJS,它很棒。我在文档中找不到它 - Javascript 中与此 AngularJS 表达式等效的是什么:

<div>{{ (myList| filter:mySearch).length }}</div>

谢谢您的帮助。

4

3 回答 3

85

它在 Angular 的过滤器文档中:

在 HTML 模板绑定中

{{ 过滤器表达式 | 过滤器:表达式}}

在 JavaScript 中

$filter('filter')(数组,表达式)

在您的情况下,它看起来像$filter('filter')(myList, mySearch).

于 2013-02-18T12:41:13.720 回答
6

作为替代语法,您还可以直接注入过滤器,而无需通过$filter服务。例如,要将filter过滤器注入您的控制器,您可以编写:

MyCtrl = function($scope, filterFilter) {

  $scope.filtered = filterFilter(myArray, expression);
}

一个与如何在控制器中使用过滤器非常相似的问题?

于 2013-02-18T13:10:41.440 回答
2

在你的 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);
});
于 2014-08-08T21:17:20.493 回答