我对AngularJS很陌生,我正在阅读一个有时包含单个记录或有时包含多个记录的XML文件。
当我有多个记录时,ng-repeat在迭代对象数组时效果很好但是当我只有一个记录时,它不被视为数组(通过angular.isArray()检查)。
现在我想知道,我应该如何处理这个问题。
ng-repeat code
<div class="row" ng-repeat="lessons in dataSet.module.lesson | partition:1">
<div class="col-sm-12" ng-repeat="lesson in lessons">
<div class="panel panel-primary">
<div class="panel-heading">
<div class="panel-title row">
<a href="" class="col-sm-12" ng-click="expandLesson(lesson);">
<div class="row">
<span class="col-sm-10">
Section #{{$parent.$index * 1 + $index + 1}}: {{lesson.title.__cdata}}
</span>
<span class="col-sm-2 text-right">
<i class="fa fa-arrow-right"></i>
</span>
</div>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
当我在元素中看到html时,如果在XML文件中单个条目,则会注释掉它。
记录单个对象 Object {meta:Array [11],resource:Array [3],changes:Object,module:Object,title:Object ...}
记录多个对象 [对象,对象,对象,对象,对象,对象]
答案 0 :(得分:0)
您可以将数据转换为数组,以确保它是一个。
简单而又狡猾的方式:[].concat(yourVar);
。
更清晰的方式:yourVar = yourVar instanceof Array ? yourVar : [yourVar];