Javascript “问题越来越多”;ng repeat“;重复。
我已经尝试了一段时间,我不明白。 我看了文档,我认为这是我的语法 我的HTML:Javascript “问题越来越多”;ng repeat“;重复。,javascript,angularjs,angularjs-directive,angularjs-ng-repeat,Javascript,Angularjs,Angularjs Directive,Angularjs Ng Repeat,我已经尝试了一段时间,我不明白。 我看了文档,我认为这是我的语法 我的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>
<div ng-controller="StoreController as store">
<div ng-repeat="item in store.items">
<img ng-src="{{item.ImageSets.ImageSet[0].SmallImage.URL}}" />
</div>
</div>
这是我的目标
{
"Items": {
"Item": {...},
"Item": {...},
"Item": {...},
"Item": {...}
}
}
代码正在运行。但我只让它显示一个图像,而不是4个图像。我不熟悉angular,认为这是一个语法问题 这不是角度问题,而是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: [
{...},
{...},
//...
]
};
所以可能只为一个图像定义了
item.ImageSets.ImageSet[0].SmallImage.URL
?这是一个无效的对象。一个对象中不能有多个相同的关键点。也许你想制作一个数组?也许你应该展示真实的东西?代码本身没有任何错误,所以这是我唯一能想到的问题所在。@Juhana是正确的。ng repeat对集合进行迭代。您已将项定义为对象。。。不是收藏。尝试要迭代对象属性,JSON只有一个项,所以我不知道为什么您希望看到4?
{
items: [
{...},
{...},
//...
]
};