我有一个复杂的数组,其中包含父对象内的对象。我已经通过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}} <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);
});
答案 0 :(得分:0)
如果控制器中已有列表,则可以进行深层复制。
var arr = [];
angular.copy(items,arr);
如果您不使用angular.copy()
并尝试使用arr = items;
angular,则只需创建一个指针,在这种情况下您不需要