2016-12-16 61 views
1

我希望這是一個容易回答的問題......首先加載JSON對象 - 角

我試圖創建一個加載的json一個表,然後就可以單擊某行,加載更多與json對象相關的細節。當你點擊一行時,它應該在頁面頂部加載額外的細節。行點擊部分工作正常。我遇到的麻煩是默認加載初始對象。

下面就是我提到的一個例子:

var myItemsApp = angular.module('myItemsApp', [ ]); 

myItemsApp.factory('itemsFactory', ['$http', function($http){ 
    var itemsFactory = { 
     itemDetails: function() { 
      return $http({ 
        url: "fake-phi.json", 
        method: "GET", 

      }).then(function (response) { 
       return response.data; 
      }); 
     } 
    }; 

    return itemsFactory; 

}]); 

myItemsApp.controller('ItemsController', ['$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; 
     } 

}]); 

http://embed.plnkr.co/6LfAsaamCPPbe7JNdww1/

我試過$ scope.select後加入這一點,但得到了一個錯誤:

$scope.selected = item[0]; 

我如何獲得我的json中的第一個對象默認加載?

在此先感謝

回答

1

裏面你的承諾的決心功能指定數組的第一個項目,作爲一個選擇的值:

promise.then(function (data) { 
     $scope.itemDetails = data; 
     $scope.selected = data[0]; 
     console.log(data); 
    }); 
+0

以爲我是接近!感謝您的幫助@ManuelObregozo!謝謝 –

0
var myItemsApp = angular.module('myItemsApp', [ ]); 

myItemsApp.factory('itemsFactory', ['$http', function($http){ 
    var itemsFactory = { 
     itemDetails: function() { 
      return $http({ 
        url: "fake-phi.json", 
        method: "GET", 

      }).then(function (response) { 
       return response.data; 
      }); 
     } 
    }; 

    return itemsFactory; 

}]); 

myItemsApp.controller('ItemsController', ['$scope', 'itemsFactory',   
    function($scope, itemsFactory){ 
     var promise = itemsFactory.itemDetails(); 

     promise.then(function (data) { 
      $scope.itemDetails = data; 
      $scope.selected = data[0]; 

      console.log($scope.itemDetails); 
      console.log($scope.selected); 
     }); 

}]);