使用键和值时,ng-repeat工作不正常

时间:2014-08-28 06:24:18

标签: javascript angularjs

在我的程序中,我尝试使用带键和值的ng-repeat显示结果数组但是无法正常工作。但是输出在控制台中正确显示。 我认为这是一个简单的错误,但我无法弄明白。这是代码。

   app.controller("taglistcontroller",function($scope,MyService1)
  {   
    var photodetails=MyService1.getProperty1();
var array=[];

angular.forEach(photodetails, function(value1) 

    { 
        var sample=value1.tag;
        angular.forEach(sample, function(value,key) 
        {
           var tagvalue=value;
            var temp=array[tagvalue];
            if(temp === undefined)
            {
              array[tagvalue]=1;  
            }
            else
            {
                temp++;
                array[tagvalue]=temp;
            }


        });

    });     
          $scope.outputtaglist= array;
                            console.log(array);
});

html代码

<H2>Tag list </H2>
             <ul>
           <li ng-repeat="(key,value) in outputtaglist">
           {{key}} {{value}}
           </li>
        </ul>

1 个答案:

答案 0 :(得分:2)

仅当要循环的对象是键/值对象时,才使用(key, value)。在这种情况下,您使用的是数组,因此它只有值{s}和索引,您可以在$index中找到

<div ng-repeat="value in outputtaglist">
  {{$index}} {{value}}
</div>

此外,看起来你创建你的数组就好像它是一个对象(技术上是,但现在不是问题......),你可能只想用

实例化它
var array={};