[英]Displaying nested JSON in AngularJS
我有一个使用AngularJS,Onsen UI和Monaca开发的跨平台应用程序。
在我的其中一个页面上,我进行了API调用,该API返回了一个嵌套的JSON对象。 我可以使用$ http.get()读取JSON对象,并且可以遍历JSON并显示高级项,但似乎无法显示嵌套项。
我要做的是将高级项目显示为文本字段,然后将嵌套项目显示为每个高级项目的单选按钮。
我的JSON文件的示例如下所示:
[{
"itemID": "1",
"itemDescription": "Apple",
"options": [{
"fruitCheckID": "1",
"fruitDescription": "Ok"
}, {
"fruitCheckID": "2",
"fruitDescription": "Not Ripe"
}, {
"fruitCheckID": "3",
"fruitDescription": "Rotten"
}]
}, {
"itemID": "2",
"itemDescription": "Orange",
"options": [{
"fruitCheckID": "1",
"fruitDescription": "Ok"
}, {
"fruitCheckID": "2",
"fruitDescription": "Not Ripe"
}, {
"fruitCheckID": "3",
"fruitDescription": "Rotten"
}]
}]
在我的fruit.html页面中,我想将水果名称(itemDescription)显示为文本字段,并在其下方为每个“ fruitDescription”项目提供单选按钮。
我的fruit.html页面如下所示:
<ul class="list">
<li class="list__item" ng-repeat="checkItemDescription in data">
<span class="list__item__line-height"><strong>{{checkItemDescription.itemDescription}}</strong></span> <!-- WORKING HERE -->
<label class="checkbox">
<input type="checkbox"
ng-click="toggleSelection(checkItemDescription.itemDescription)">
<div class="checkbox__checkmark"></div>
{{checkItemDescription.options}} <!-- NOT WORKING HERE -->
</label>
</li>
</ul>
运行上面的命令后,我得到的结果将在列表中显示水果名称,但是对于每个水果项目,仅显示一个单选按钮,然后显示JSON格式的代码,例如
该列表中第三个项目符号实际上是向我显示项目的方式。
在我的app.js中,我得到如下所示的JSON对象,当我console.log()时,JSON对象将按其全部显示。
// Loop through the JSON [object Object]...[object Object] returned from API call
angular.forEach($scope.data, function(value, key)
{
// WORKING
console.log("Item ID: " + value.itemID);
console.log("Item Description: " + value.itemDescription);
// Inner loop to return nested JSON objects
angular.forEach(value.options, function(v, k)
{
// WORKING
console.log("Fruit Check ID: " + v.fruitCheckID);
console.log("Fruit Description: " + v.fruitDescription);
});
});
谁能告诉我显示嵌套值的格式出了什么问题?
尝试使用此代码。
<ul class="list">
<li class="list__item" ng-repeat="checkItemDescription in data">
<span class="list__item__line-height"><strong> {{checkItemDescription.itemDescription}}</strong></span> <!-- WORKING HERE -->
<label class="checkbox">
<input type="checkbox"
ng-click="toggleSelection(checkItemDescription.itemDescription)">
<div class="checkbox__checkmark" ng-repeat="options in data.options "></div><!-- use ng-repeat here -->
{{options.fruitDescription}}
</label>
</li>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.