Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 子阵上的角ng重复滤波器_Javascript_Angularjs_Angularjs Directive_Angularjs Ng Repeat_Mean Stack - Fatal编程技术网

Javascript 子阵上的角ng重复滤波器

Javascript 子阵上的角ng重复滤波器,javascript,angularjs,angularjs-directive,angularjs-ng-repeat,mean-stack,Javascript,Angularjs,Angularjs Directive,Angularjs Ng Repeat,Mean Stack,使用Angular,我尝试在FactorName上使用ng repeat进行过滤,给出以下模式。 使用过滤 不起作用(毫不奇怪)。 我还没有看到任何人试图以这种方式过滤的文献 角度是否支持基于子阵列元素属性的过滤 [ { "Name":"1", "Factors":[ { "FactorName":"FactorOne", "Type":"SomeType" },

使用Angular,我尝试在FactorName上使用ng repeat进行过滤,给出以下模式。
使用过滤 不起作用(毫不奇怪)。 我还没有看到任何人试图以这种方式过滤的文献

角度是否支持基于子阵列元素属性的过滤

[
   {
      "Name":"1",
      "Factors":[
         {
            "FactorName":"FactorOne",
            "Type":"SomeType"
         },
         {
            "FactorName":"FactorTwo",
            "Type":"SomeType"
         }
      ]
   },
   {
      "Name":"2",
      "Factors":[
         {
            "FactorName":"FactorThree",
            "Type":"SomeType"
         },
         {
            "FactorName":"FactorFour",
            "Type":"SomeType"
         }
      ]
   }
]

我想出了在数组因子的任何元素上进行过滤的办法,但无法想出如何只选择数组的一个字段。也许它只适合你:

<input ng-model="filtervalue.Factors"/><br/><br/>
Filtered:
<p><span ng-repeat="d in data | filter:filtervalue:false">{{d}}</span></p>
jsiddle上的示例:

http://jsfiddle.net/jordiburgos/QFUu6/

在另一个地方,您可以使用自定义过滤器在双绑定中沿着ng repeat边迭代数组

HTML

<ul ng-repeat="x in factorData">
  <li>
    {{ x.Factors | factorFilter }}
  </li>
</ul>
  • {x.因子|因子过滤器}
JS

app.filter('factorFilter', function() {
    return function(items) {
        var results = [];
        if (items) {
            for (var i = 0; i < items.length; i++) {
                results = items[i]['FactorName'];
            }
            return results;
        } else {
          return 'Doh!';
        }
   }
})    
app.filter('factorFilter',function(){
返回函数(项目){
var结果=[];
若有(项目){
对于(变量i=0;i
您尝试过什么?你所说的过滤因子名称是什么意思?如果您遵循该方法,它应该可以工作,但过滤器是通用的。你可以很容易地编写你自己的过滤器。需要看看一些实际的角度代码这里可能重复的真棒!对于其他试图找到解决方案的人来说,以下细微的修改非常有效:搜索框:
input(type=“text”ng model=“factorFilter”)
数据表示:
div(ng repeat=“c in Data | filter:factorFilter”)
app.filter('factorFilter', function() {
    return function(items) {
        var results = [];
        if (items) {
            for (var i = 0; i < items.length; i++) {
                results = items[i]['FactorName'];
            }
            return results;
        } else {
          return 'Doh!';
        }
   }
})