我有一个特定月份分配给某人的汽车列表。如果您搜索四月,您将获得四月的数据。如何通过索引访问嵌套的 JSON 数据?
这是 plunker
$scope.cars = $scope.results[resultIndex].cars.map(function(car) {
return {
make: car.Make,
year: car.Year
};
});
$scope.showCars = function(resultIndex) {
$scope.cars = $scope.results[resultIndex].cars;
};
"April": [{
"Name": "Tim",
"Address": "Street",
"Phone": "111",
"Status": "Speeding",
"cars": [
{
"Make": "Honda",
"Year": "2000"
},
{
"Make": "Ford",
"Year": "2010"
},
{
"Make": "Toyota",
"Year": "2004"
}
]},
最佳答案
有几件事你首先应该做
- 将按钮类型更改为按钮,否则它可能会假设提交
- 美化您的代码 http://jsbeautifier.org/
现在来看代码,您真的应该简化您的逻辑。您的数据结构就在那里,您每次搜索内容时都不会对其进行太多更改,因此无需映射或循环数据 - 只有在需要对数据执行某些操作时才需要这样做。
你的点击按钮功能可以像这样简单
$scope.clickButton = function(enteredValue) {
$scope.reset();
$scope.results = data[enteredValue];
}
将您的 showCars 函数更改为
$scope.showCars = function(car) {
$scope.cars = car;
};
在您的 html 中,只需将 showCars 函数调用更改为
<td ng-click='showCars($index)'>{{result.name}}</td>
删除它,你不需要它
$scope.cars = $scope.results[resultIndex].cars.map(function(car) {
return {
make: car.Make,
year: car.Year
};
});
编辑
关于javascript - 如何通过索引、Angular JS、ng-click 访问嵌套的 JSON 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30064224/