gpt4 book ai didi

javascript - 使用 Angular JS 和 Ionic 动态插入 JSON 项目

转载 作者:行者123 更新时间:2023-11-30 12:23:11 26 4
gpt4 key购买 nike

我一直在为如何将 JSON 项插入动态列表而苦苦挣扎:

我有一个 json 文件,它看起来像:

[
{
"id":"34",
"City":"New York",
"Country":"USA"
},
{
"id":"22",
"City":"Las vegas",
"Country":"USA"
},
{
"id":"44",
"City":"Paris",
"Country":"France"
},
{
"id":"45",
"City":"Lyon",
"Country":"France"
}
]

我想这样显示:

Screenshot

这是我的代码:

<div ng-controller="customersCtrl"> 
<div class="list">
<div ng-repeat="c in cities">
<div class="item item-divider" >
{{ c.Country }}
</div>
<a class="item" href="#" ng-repeat="ci in cities" ng-if="c.Country == ci.Country"> {{ ci.City }} </a>
</div>

var app = angular.module('starter', []);
app.controller('customersCtrl', function($scope, $http) {
$http.get('data.json')
.then(function(result){
$scope.cities = result.data;
});

});

它是这样显示的:

enter image description here

最佳答案

最简单的方法是预处理数据以显示数据的固有结构。然后你可以使用嵌套的中继器。

angular.module('cityModule', []).
controller('CityController', ['$scope',
function($scope) {
var rawData = [{
"id": "34",
"City": "New York",
"Country": "USA"
}, {
"id": "22",
"City": "Las vegas",
"Country": "USA"
}, {
"id": "44",
"City": "Paris",
"Country": "France"
}, {
"id": "45",
"City": "Lyon",
"Country": "France"
}];

$scope.citiesByCountry = {};

for (var i = 0; i < rawData.length; i++) {
var city = rawData[i];

if ($scope.citiesByCountry[city.Country] == undefined) {
$scope.citiesByCountry[city.Country] = {};
$scope.citiesByCountry[city.Country].name = city.Country;
$scope.citiesByCountry[city.Country].cities = [];
}

$scope.citiesByCountry[city.Country].cities.push(city);
}

}
]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<body ng-app="cityModule">
<div ng-controller="CityController">
<div ng-repeat="(countryName, country) in citiesByCountry">
<h1>{{country.name}}</h1>
<div ng-repeat="city in country.cities">
{{city.City}}
</div>

</div>
</div>
</body>

关于javascript - 使用 Angular JS 和 Ionic 动态插入 JSON 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30354516/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com