角度过滤器:如何获得过滤器完整回调?

时间:2016-08-29 16:26:36

标签: javascript angularjs

我在寻找$ filter filter完成过滤数据后的回调函数

HTML

<input type="text" ng-model="searchvalue">
<span ng-click="searchbtn()">Search</span>

JS

$scope.searchbtn = function() {
  $scope.loading = true;
  $scope.mysearchvalue = $scope.searchvalue;
}

当用户输入关键字时,我的数据将被过滤,我需要在过滤数据后使用回调函数。

我尝试过使用“DOMSubtreeModified”但返回继续记录

var myElement = angular.element(document.getElementById("mycontent"));
myElement.bind("DOMSubtreeModified", function() {
  console.log("keep outputting this message");
});

enter image description here

1 个答案:

答案 0 :(得分:1)

正如我在评论中所说,为什么不使用一点延迟(去抖动)并在控制器中过滤结果,而不是单独的输入按钮。考虑

HTML模板

<body ng-controller="MainCtrl">
  <pre ng-bind="filteredData | json"></pre>
  <input type="text" ng-model="search" ng-model-options="{debounce:250}">
</body>

<强>的JavaScript

angular.module('app', [])
.controller('MainCtrl', function($scope, $filter) {
  $scope.data = [{text:'aa'},{text:'ab'}];
  $scope.$watch('search', function(val) {
    $scope.filteredData = $filter('filter')($scope.data, val);
  }); 
}); 

image