使用AngularJS自定义过滤器过滤基于另一个集合的一个

瑞安·兰顿(Ryan Langton)

我需要基于angularjs中的另一个集合来过滤对象的集合。我确定需要创建一个自定义过滤器,但没有找到相似的示例。因此,我列出了“ equipmentOptions”(基本上是产品自定义项,例如汽车中的高级立体声音响)。除非您已经选择了其他“ equipmentOptions”,否则某些“ equipmentOptions”不可用。

可用的equipmentOptions是$ scope.product.equipmentOptions。
已选择的equipmentOptions是$ scope.product.selectedOptions。

equipmentOptions具有属性requiredParents,该属性是其他设备选项的ID的集合。如果$ scope.product.selectedOptions中存在这些requiredParent中的任何一个,则应显示equipmentOption。

到目前为止,这是我一直没有尝试的尝试:

<div ng-repeat="option in product.equipmentOptions | optionsFilter:product.selectedOptions">

optionsFilter.js

myApp.filter('optionsFilter', function () {
return function (selectedOptions) {
    // I'm just trying to get the list of selected options as well as the current option here for filtering, how do I get the current option?
};

});

迈克·奎兰(Mike Quinlan)

您的第一个参数是的列表product.equipmentOptions第二个参数是product.selectedOptions像这样编写您的过滤器:

myApp.filter('optionsFilter', function() {
  return function(equipmentOptions, selectedOptions) {
    var filteredOptions = [];
    angular.forEach(equipmentOptions, function(option) {
      if(/*option meets criteria*/) {
        filteredOptions.push(option);
      }
    });
    return filteredOptions;
  }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

用于基于另一个Observable的自定义过滤器的函数式无功运算符

基于另一个过滤器数组

AngularJS 使用一个对象作为另一个对象的过滤器

跳过基于另一个过滤器ASP .NET的过滤器执行

Django,根据另一个模型的值创建自定义订单/过滤器

Spring自定义过滤器在过滤器链中一个接一个

用于从 AngularJS 1.x 中的另一个选择框中删除选定选项的自定义过滤器

在角度8的另一个过滤器内使用过滤器

AngularJS:我可以使用在另一个模块中定义的过滤器吗?

Java 8 Lambda-另一个集合的过滤器集合

基于另一个列表的1个列表的流过滤器

使用Guava集合将自定义对象列表转换/过滤到另一个对象

Django模板:另一个过滤器

如何基于另一个过滤器中的选择来控制过滤器的值

AngularJS-如何在另一个过滤器中使用过滤后的数组?

javascript:使用另一个数组作为过滤器过滤对象数组

如何在AngularJS搜索过滤器上添加另一个过滤器?

基于另一个`List`过滤器`List`

基于来自另一个数组的值的Typescript过滤器数组

Java 8过滤器集基于另一个集

基于另一个对象数组的Javascript过滤器数组

基于最大日期的Spark Java DataFrame Date过滤器另一个DataFrame

基于另一个数组的嵌套过滤器数组

基于另一个数组的es6过滤器数组

基于另一个数组的对象的打字稿过滤器数组

基于另一个内部for循环的过滤器数组

JavaScript过滤器数组和另一个数组的过滤器

Javascript过滤器数组由另一个过滤器数组

JS过滤器无法在另一个过滤器中工作