问与答 angularjs-如何在JavaScript中使用过滤器而不是Htm

willis · 2020-02-22 11:30:05 · 热度: 12

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

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

谢谢您的帮助。

猜你喜欢:
共收到 3 条回复
ramon #1 · 2020-02-22 11:30:05

它在Angular的过滤器文档中:

在HTML模板绑定中

{{filter_expression | filter:expression}}

在JavaScript中

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

就您而言,它看起来像是$filter('filter')(myList, mySearch)

cesar #2 · 2020-02-22 11:30:06

作为一种替代语法,您也可以直接插入过滤器,而无需通过$filter服务。 例如,向控制器注入filter过滤器,您可以编写:

MyCtrl = function($scope, filterFilter) {

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

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

sonte #3 · 2020-02-22 11:30:07

在你的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);
});
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册