Javascript 如何对AngularJS中其他作用域的数据使用筛选器

Javascript 如何对AngularJS中其他作用域的数据使用筛选器,javascript,angularjs,Javascript,Angularjs,下面是我在JSFIDLE中的代码。我想应用过滤器,其中仅显示具有选定类型(第一范围)的文档(第二范围)。 我想在ng repeat中使用filter,但我没有找到使用该方法的代码示例 你能帮我解决我的问题吗?尝试从事件处理技术中获得帮助。 $Emit、$broadcast和$on两个不同的作用域不是问题,您只需要将每种类型的checked属性的状态应用于文档列表。这可以使用过滤器功能完成: $scope.filterDocuments = function(doc) { // Check

下面是我在JSFIDLE中的代码。我想应用过滤器,其中仅显示具有选定类型(第一范围)的文档(第二范围)。 我想在
ng repeat
中使用
filter
,但我没有找到使用该方法的代码示例


你能帮我解决我的问题吗?

尝试从事件处理技术中获得帮助。
$Emit、$broadcast和$on

两个不同的作用域不是问题,您只需要将每种类型的
checked
属性的状态应用于文档列表。这可以使用过滤器功能完成:

$scope.filterDocuments = function(doc) {
  // Check for All selected
  if ($scope.types.all.checked) {
    return true;
  }

  // Check for individual type selected
  var documentTypeSelected = false;
  for (var t in $scope.types) {
    var type = $scope.types[t];
    if (doc.type_id == type.id) {
      documentTypeSelected = type.checked;
      break;
    }
  }
  return documentTypeSelected;
};
然后对文档列表应用
ng repeat
中的过滤功能:

<tr ng-repeat="document in documents | filter:filterDocuments">


这是一个有用的工具:

O知道如何通过事件处理程序实现它,但我想通过
过滤器
,因为它的代码更少,下次实现的速度更快。事件处理程序将帮助您在两个控制器之间传输数据。稍后,数据应用过滤器它的所有功能都在一个控制器中。那么,不同的作用域是如何发挥作用的呢