Angular使用foreach循环将对象推入数组

时间:2014-08-19 16:32:09

标签: json angularjs foreach

我有一个复杂的数组,其中包含父对象内的对象。我已经通过ng-repeat提取了我想要使用的对象并返回它们。我希望能够使用angular forEach将所有这些对象放入数组中。我不太清楚如何去做。

以下是我回来的对象:

{"day":"21","title":"ok","summary":"ok","description":"ok","_id":"53ee9f0fc6aed109c6d33cfd"}
{"day":"2","title":"ok","summary":"ok","description":"ok","_id":"53ee9f038782309c6d892"}
{"day":"27","title":"ok","summary":"ok","description":"ok","_id":"533240fc6ae32433chd"}

以下是我的观点:上面的对象由'项目'表示。在ng-repeat中。

    <div class="calDynamic" data-ng-repeat="n in [] | range:100">
<div ng-repeat="cal in calendar[n].year | filterKey:month">
  <div ng-if="cal != '' ">
    <div class="calendar">

    <p>{{cal}}</p>
<div ng-repeat="items in cal ">

        <a href="/events/{{items.day}}">
          <article class="eventslist">
           <div class="numberedDate">
               <h3>{{items.day}}</h3>
            </div>
            <div class="calInfo">
            <h5>{{items.title}}</h5>
               <p>{{items.summary}}&nbsp;<a>more</a></p>
            </div>
           </article>


      </div><!-- ng-repeat val,key -->
</div><!-- calendar -->
</div><!-- ng-if cal -->
</div><!-- ng-repeat cal -->
</div><!-- calDynamic -->

我如何使用类似下面的foreach循环将这些返回的对象存储到数组中,以便我可以在其上使用过滤方法?

var arr = [];
angular.forEach(items, function (item) {
    arr.push(item);
});

1 个答案:

答案 0 :(得分:0)

如果控制器中已有列表,则可以进行深层复制。

    var arr = [];
    angular.copy(items,arr);

如果您不使用angular.copy()并尝试使用arr = items; angular,则只需创建一个指针,在这种情况下您不需要


angular.copy reference