来自JSON的两页

时间:2015-12-18 08:37:04

标签: javascript angularjs json angularjs-ng-route

我正在尝试创建一个读取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>

1 个答案:

答案 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
         }

       };
    })
};