簡體   English   中英

如何從外部嵌套的json文件加載數據並打印值

[英]How to load the data from a external nested json file and print the values

嗨,我面臨着將json對象的結果顯示到我的視圖頁面的問題。 屏幕顯示為空,但我正在控制台中獲取數據。 使用ng重復時,它會顯示一些錯誤“ Repeater中的重復鍵”

對我的基本要求是從json文件中打印標題,當我單擊它時應顯示Title =“ example”

 var myItemsApp = angular.module('myItemsApp', []); myItemsApp.factory('itemsFactory', ['$http', function($http) { var itemsFactory = { itemDetails: function() { return $http({ url: "action.json", method: "GET", }) .then(function(response) { return response.data; }); } }; return itemsFactory; }]); myItemsApp.controller('NavController', ['$scope', 'itemsFactory', function($scope, itemsFactory) { var promise = itemsFactory.itemDetails(); promise.then(function(data) { $scope.itemDetails = data; console.log(data); }); $scope.select = function(item) { $scope.selected = item; } $scope.selected = {}; }]); 
 <!DOCTYPE html> <html ng-app="myItemsApp"> <head> <meta charset="utf-8" /> <title>dynamic title</title> <link data-require="bootstrap-css" data-semver="3.1.1" rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" /> <script data-require="jquery" data-semver="2.0.3" src="http://code.jquery.com/jquery-2.0.3.min.js"></script> <script data-require="bootstrap" data-semver="3.1.1" src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script> <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.min.js"></script> <script src="script.js"></script> </head> <body> <div ng-controller=NavController> <h3>Load title dynamically</h3> <div class="row"> <div class="col-md-4"> <div class="panel panel-default"> <ul class="list-group"> <a class="list-group-item" ng-click="select(item)" ng-repeat="item in itemDetails">{{item.title}}</a> </ul> </div> </div> <div class="col-md-8"> <div class="panel panel-default"> <h2>Title: {{selected.title}}</h2> </div> </div> </div> </div> </body> </html> 

action.json

{

   "product": [{
         "title": "Product View",
         "path": "test1"

      },

      {
         "title": "Product Add",
         "path": "2"

      },
      {
         "title": "Product Update",
         "path": "test3"


      },

      {
         "title": "Product delete",
         "path": "test4"

      }
   ],

   "page": [{
      "title": "About us"
   }]

}

您應該有兩個嵌套的ng-repeat

  <div  ng-repeat="(key,item) in itemDetails">
      <a ng-repeat="i in item">
        {{i.title}}
      </a>
   </div>

演示

您的json具有產品和頁面作為鍵。 您的承諾將為您提供整個對象,您需要進行迭代並獲取產品對象,然后才能訪問標題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM