我已经尝试了一段时间而且我没有得到它。 我查看了文档,我认为这是我的语法。
我的HTML:
<div ng-controller="StoreController as store">
<div ng-repeat="item in store.items">
<img ng-src="{{item.ImageSets.ImageSet[0].SmallImage.URL}}" />
</div>
</div>
我的控制器:
(function() {
var app = angular.module("store", []);
app.controller("StoreController", ["$http", function($http) {
var store = this;
store.items = []
$http.get("/amazon.json").success(function(data) {
store.items = data.Items
});
}]);
})();
这是我的目标。
{
"Items": {
"Item": {...},
"Item": {...},
"Item": {...},
"Item": {...}
}
}
代码正在运行。但我只是让它显示一个图像而不是4个图像。我是角度新手,认为这是一个语法问题。
答案 0 :(得分:1)
这不是一个有角度的问题,它是一个JavaScript问题。
问题是,您正在尝试使用相同的密钥(item
)多次构建对象。
因此,每次向对象添加新项目时,前一个项目都将被删除。这就是为什么您的对象只有一个项目。
这样做:
var items = {
"item": 1,
"item": 2,
}
相当于:
var items = {};
items["item"] = 1;
items["item"] = 2; //items["item"] gets replaced and its value is now 2
相反,您应该使用包含所有项目的数组。像那样
{
items: [
{...},
{...},
//...
]
};