Javascript 带路由图和嵌套数组的角度ng重复

Javascript 带路由图和嵌套数组的角度ng重复,javascript,json,angularjs,ng-repeat,Javascript,Json,Angularjs,Ng Repeat,我使用的是Angular JS,在使用ng repeat指令与routeParams和JSON数据中的嵌套数组时遇到了问题 我有以下数据(work.json是文件名): 我有一个控制器: workControllers.controller('DetailController', ['$scope', '$http', '$routeParams', function ($scope, $http, $routeParams) { $http.get('data/work.json').suc

我使用的是Angular JS,在使用ng repeat指令与routeParams和JSON数据中的嵌套数组时遇到了问题

我有以下数据(work.json是文件名):

我有一个控制器:

workControllers.controller('DetailController', ['$scope', '$http', '$routeParams', 
function ($scope, $http, $routeParams) {
$http.get('data/work.json').success(function(data) {
$scope.detail = data;
$scope.whichItem = $routeParams.itemId;
});
}]);
那么这个观点呢:

<div ng-model="detail">
<h1>{{detail[whichItem].workName}}</h1>
<p>{{detail[whichItem].workDescription}}</p>
</div>

<div ng-repeat="item in detail[whichItem].workImages">
<img ng-src="{{item.id}}" />
</div>

{{detail[whichItem].workName}
{{detail[whichItem].workDescription}

第一个div中的项工作正常。第二个div中带有ng repeat的项不显示,这并不奇怪。我现在对如何实现循环有一个猜测

当使用RouteParams时,如何使用ng repeat遍历数据中的嵌套数组?ng是否重复我应该在这里使用的内容?

是正确的,根据示例JSON数据,工作图像是字符串数组

<div ng-repeat="item in detail[whichItem].workImages">
    <img ng-src="{{item}}" />
</div>
因此,您可以在视图中的每个细节数据绑定中省略
[whichItem]


您不应该为div设置ng模型。它用于双向绑定表单输入。如果没有它,它将正常工作。

item.id解析为什么?这不应该只是一件商品吗?太好了,谢谢。这些调整奏效了。我对视图中的ng repeat做了一点修改,不确定它的语法是否正确,但它起了作用:ng repeat=“item in detail.workmages track by$index”track by$index,这样数组中的每个项都是唯一的
<div ng-repeat="item in detail[whichItem].workImages">
    <img ng-src="{{item}}" />
</div>
$http.get('data/work.json').success(function(data) {
    $scope.detail = data[$routeParams.itemId];
});