如何在过滤器执行时将事件添加到angularjs

How can I add events to angularjs when filters execute?

本文关键字:事件 添加 angularjs 过滤器 执行      更新时间:2023-09-26

我有一个任务列表,每个任务都有一个相关的地址。当页面加载时,我会在地图上放置标记,这样我们的团队就可以直观地显示任务应该发生的位置。我们在页面上也有一些广泛的过滤。如何在过滤后的数据发生变化时更新地图标记?

<tr ng-repeat="detail in filteredDetails = (details|filterByStatus:page.statusFilter|filterDetailByDate:page.dateFilterFrom+'.'+page.dateFilterThrough|filter:{ColorStatus: page.colorFilter}|filter:{MilestoneIdTaskId: page.milestoneTaskFilter}|filter:{CustomerId: page.storeFilter}|filter:{RepId: page.techFilter}|filter:page.detailFilter)">
</tr>

基本上,每当过滤器执行和表数据刷新时,我都想调用我的代码,将标记放在映射上,并将filteredDetails作为参数传入。

只需编写在末尾添加的过滤器,并在内部运行刷新:

ng-repeat="detail in filteredDetails = (details|...|filter:page.detailFilter|refresh)"
.filter('refresh', function() {
  return function(input) {
      //refresh the map. input will be filteredDetails
  });
});