Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.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 AngularJS:ng重复(返回单个值)_Javascript_Angularjs_If Statement_Ng Repeat - Fatal编程技术网

Javascript AngularJS:ng重复(返回单个值)

Javascript AngularJS:ng重复(返回单个值),javascript,angularjs,if-statement,ng-repeat,Javascript,Angularjs,If Statement,Ng Repeat,大家好 我有: <tr ng-repeat="x in list"> .....<td>{{x.Name}}</td> 就目前而言,一切正常。 但是如果“Name”已经存在于这个表中,我希望这个表只返回我一次值。我需要的是这种观点: a 因为“Name”拥有很多“a”值 我希望我的问题足够准确,因为我是AngularJS的新手。 非常感谢。 EDIT1:我的控制器视图: myApplicationModule.controller('controller

大家好
我有:

<tr ng-repeat="x in list">
.....<td>{{x.Name}}</td>
就目前而言,一切正常。
但是如果“Name”已经存在于这个表中,我希望这个表只返回我一次值。我需要的是这种观点:

a
因为“Name”拥有很多“a”值

我希望我的问题足够准确,因为我是AngularJS的新手。 非常感谢。


EDIT1:我的控制器视图: myApplicationModule.controller('controllertable',['$scope','$routeParams',函数($scope,$routeParams) { $scope.list=列表; }]);

它引用了一个文件.json:

var list = [
{
    ...
    "Name" = "a",
    ...
}

您可以注册自定义筛选器

angular.module('yourApp.filters', [])
    .filter('distinct', function() {
        return function (list) {
            var distinctList = new Array();
            var j = 0;
            for (var i = 0; i < list.length; i++) {
                var x = list[i];
                if (! containsName(distinctList, x.Name)) {
                    distinctList[j] = list[i];
                    j++;
                }
            }
            return distinctList;
        }
    });

function containsName(list, name) {
    for (var i = 0; i < list.length; i++) {
        if (list[i].Name == name) {
            return true;
        }
    }
    return false;
}
在ng repeat语句中,只需写下:

<table>
    <tr ng-repeat="x in list | distinct">
         <td>{{x.Name}}</td>
    </tr>
</table>

{{x.Name}

您可以注册自定义筛选器

angular.module('yourApp.filters', [])
    .filter('distinct', function() {
        return function (list) {
            var distinctList = new Array();
            var j = 0;
            for (var i = 0; i < list.length; i++) {
                var x = list[i];
                if (! containsName(distinctList, x.Name)) {
                    distinctList[j] = list[i];
                    j++;
                }
            }
            return distinctList;
        }
    });

function containsName(list, name) {
    for (var i = 0; i < list.length; i++) {
        if (list[i].Name == name) {
            return true;
        }
    }
    return false;
}
在ng repeat语句中,只需写下:

<table>
    <tr ng-repeat="x in list | distinct">
         <td>{{x.Name}}</td>
    </tr>
</table>

{{x.Name}

您可以注册自定义筛选器

angular.module('yourApp.filters', [])
    .filter('distinct', function() {
        return function (list) {
            var distinctList = new Array();
            var j = 0;
            for (var i = 0; i < list.length; i++) {
                var x = list[i];
                if (! containsName(distinctList, x.Name)) {
                    distinctList[j] = list[i];
                    j++;
                }
            }
            return distinctList;
        }
    });

function containsName(list, name) {
    for (var i = 0; i < list.length; i++) {
        if (list[i].Name == name) {
            return true;
        }
    }
    return false;
}
在ng repeat语句中,只需写下:

<table>
    <tr ng-repeat="x in list | distinct">
         <td>{{x.Name}}</td>
    </tr>
</table>

{{x.Name}

您可以注册自定义筛选器

angular.module('yourApp.filters', [])
    .filter('distinct', function() {
        return function (list) {
            var distinctList = new Array();
            var j = 0;
            for (var i = 0; i < list.length; i++) {
                var x = list[i];
                if (! containsName(distinctList, x.Name)) {
                    distinctList[j] = list[i];
                    j++;
                }
            }
            return distinctList;
        }
    });

function containsName(list, name) {
    for (var i = 0; i < list.length; i++) {
        if (list[i].Name == name) {
            return true;
        }
    }
    return false;
}
在ng repeat语句中,只需写下:

<table>
    <tr ng-repeat="x in list | distinct">
         <td>{{x.Name}}</td>
    </tr>
</table>

{{x.Name}
试试这个

创建以下筛选器

app.filter('unique', function() {
     return function(list, keyname) {
      var output = [], 
          keys = [];

      angular.forEach(list, function(item) {
          var key = item[keyname];
          if(keys.indexOf(key) === -1) {
              keys.push(key);
              output.push(item);
          }
      });

      return output;
   };
});
像这样使用它

<table>
    <tr ng-repeat="x in list | unique: 'name'">
    <td>{{x.name}}</td>
  </table>

{{x.name}
试试这个

创建以下筛选器

app.filter('unique', function() {
     return function(list, keyname) {
      var output = [], 
          keys = [];

      angular.forEach(list, function(item) {
          var key = item[keyname];
          if(keys.indexOf(key) === -1) {
              keys.push(key);
              output.push(item);
          }
      });

      return output;
   };
});
像这样使用它

<table>
    <tr ng-repeat="x in list | unique: 'name'">
    <td>{{x.name}}</td>
  </table>

{{x.name}
试试这个

创建以下筛选器

app.filter('unique', function() {
     return function(list, keyname) {
      var output = [], 
          keys = [];

      angular.forEach(list, function(item) {
          var key = item[keyname];
          if(keys.indexOf(key) === -1) {
              keys.push(key);
              output.push(item);
          }
      });

      return output;
   };
});
像这样使用它

<table>
    <tr ng-repeat="x in list | unique: 'name'">
    <td>{{x.name}}</td>
  </table>

{{x.name}
试试这个

创建以下筛选器

app.filter('unique', function() {
     return function(list, keyname) {
      var output = [], 
          keys = [];

      angular.forEach(list, function(item) {
          var key = item[keyname];
          if(keys.indexOf(key) === -1) {
              keys.push(key);
              output.push(item);
          }
      });

      return output;
   };
});
像这样使用它

<table>
    <tr ng-repeat="x in list | unique: 'name'">
    <td>{{x.name}}</td>
  </table>

{{x.name}

您的控制器看起来怎么样?为什么不在控制器端确保每个名称在x中只出现一次?控制器看起来怎么样?为什么不在控制器端确保每个名称在x中只出现一次?控制器看起来怎么样?为什么不在控制器端确保每个名称在x中只出现一次?控制器看起来怎么样?为什么不在控制器端确保每个名字在x中只出现一次呢?所以,谢谢你们的回答。我在controller.js的顶部添加了自定义过滤器。$scope中的数组列表仍然是相同的
$scope.list=list
,它引用了.json文件,我刚刚从我最初的写作中删除了
$routeParams
。最后,我在ng重复结束时添加了
| distinct
,我的所有数据都消失了:/因此,感谢您的回答。我在controller.js的顶部添加了自定义过滤器。$scope中的数组列表仍然是相同的
$scope.list=list
,它引用了.json文件,我刚刚从我最初的写作中删除了
$routeParams
。最后,我在ng重复结束时添加了
| distinct
,我的所有数据都消失了:/因此,感谢您的回答。我在controller.js的顶部添加了自定义过滤器。$scope中的数组列表仍然是相同的
$scope.list=list
,它引用了.json文件,我刚刚从我最初的写作中删除了
$routeParams
。最后,我在ng重复结束时添加了
| distinct
,我的所有数据都消失了:/因此,感谢您的回答。我在controller.js的顶部添加了自定义过滤器。$scope中的数组列表仍然是相同的
$scope.list=list
,它引用了.json文件,我刚刚从我最初的写作中删除了
$routeParams
。最后,我在ng重复结束时添加了
| distinct
,所有数据都消失了:/