我通过以下方式创建了Javascript对象:
$scope.initNews = function () {
for (var i = 2013; i > 2000; i--) {
$scope.news[i] = {};
$scope.news[i]["year"] = Number(i);
for (var j = 1; j <= 12; j++) {
$scope.news[i][j] = {};
$scope.news[i][j]["month"] = $scope.month_names[j-1];
}
}
};
但是ng-repeat似乎弄乱了它们遍历项目的方式。
<ul ng-repeat="old_news_year in news">{{old_news_year.year}}
<li ng-repeat="old_news_month in old_news_year">{{$index + 1}}. {{old_news_month.month}}</li>
</ul>
对于整个示例,请检查http://jsfiddle.net/tFewZ/1/
编辑
我的印象是(通过在代码中添加“调试器”),AngularJS根据其$$ hashKey而不是根据其Javascript索引遍历条目...
虽然还是不了解第13个元素...这是prototype属性吗?
提前致谢。
最好的问候,
纪尧姆
解决方案是使用$ index而不是收集方法(“ in”)。
<ul ng-repeat="old_news_year in news">{{old_news_year.year}}
<li ng-repeat="old_news_month in old_news_year">
{{$index + 1}}. {{old_news_year[$index+1].month}}
</li>
</ul>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句