Подтвердить что ты не робот

Как использовать фильтр в javascript вместо Html

Я использую AngularJS, и это здорово. Я не могу найти его в документации. Что эквивалентно в Javascript для этого выражения AngularJS:

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

Спасибо за помощь.

4b9b3361

Ответ 1

В документации Angular фильтровать:

В привязке шаблона HTML

{{filter_expression | filter: выражение}}

В JavaScript

$filter ('filter') (массив, выражение)

В вашем случае это выглядело бы как $filter('filter')(myList, mySearch).

Ответ 2

В качестве альтернативного синтаксиса вы можете также непосредственно вставить фильтр, не проходя через службу $filter. Например, чтобы добавить фильтр filter к контроллеру, вы можете написать:

MyCtrl = function($scope, filterFilter) {

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

Вопрос, очень похожий на Как использовать фильтр в контроллере?

Ответ 3

В вашем 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);
});