我正在尝试创建一个读取json的网页。我有一个第一页,索引,工作得很好。我从json获得正确的信息并将其正确打印出来。但是,我希望有一个子页面,其中包含更多详细信息。获取此详细信息。
我不知道如何从json中取出特定对象并在另一页上显示信息?
我的代码如下所示:
示例JSON
{
"Name": "foo",
"array": [
1,
2,
3
],
"boolean": true,
"null": null,
"number": 123,
"object": {
"a": "b",
"c": "d",
"e": "f"
},
"string": "Hello World"
}
让我们说我有5个这样的jsonobject。在我的索引页面上,我执行ng-repeat打印它们,例如,名称和编号。该名称是“更多详细信息”页面的链接。更多细节呈现,例如阵列。
ReadJson
var readJSON = function($scope, $interval, $http){
$http.get("./output/resultJSON.json").success(function(response) {
$scope.result = response;
})
ReadMoreDetails
var readDetails = function($scope, $routeParams){
};
NG-路线
var application = angular.module("application", ['ngRoute']);
application.config(function($routeProvider){
$routeProvider
.when("/index.html", {
templateUrl: "index.html"
})
.when("/showTable", {
templateUrl: "templates/resultTable.html",
controller: "readJSON"
})
.when("/showMoreDetails/:id", {
template: "templates/moreDetails.html",
controller: "readDetails"
})
.otherwise({redirectTo:"/showTable"});
});
myLink的
<div class="link" ng-click="result.Name"><a href="/showMoreDetails/{{result.Name}}">{{result.Name}}</a></div>
答案 0 :(得分:1)
你可以这样做,
var readDetails = function($scope, $routeParams){
$http.get("./output/resultJSON.json").success(function(response) {
$scope.result = response;
for (var i = 0; i < $scope.result.length; i++) {
if($scope.result[i].Name == $routeParams.id {
$scope.details = $scope.result[i].array
}
};
})
};