0

Angular で JSON をロードする方法を学習しようとしています。私は両方のトピックの初心者であり、いくつかの本当に初心者のトピックにこだわっています。

food.json という JSON ファイルがあります。次のような構造になっています。

 [
  {"uid":"55","title":"Nussbrot","code":"U VP 0000030","unit":[{"title":""}],"unitgram":"0","unitgram_second":"0","sorting":"0"},
  {"uid":"58","title":"Walnu\u00dfbrot","code":"X 39 2000002","unit":[{"title":"Scheiben"}],"unitgram":"45","unitgram_second":"0","sorting":"0"}
 ]

http://toddmotto.com/ultimate-guide-to-learning-angular-js-in-one-day/の指示に従って、次のようなコントローラーを用意しました。

myApp.controller('EmailsCtrl', ['$scope', function ($scope) {

$scope.foodlist = {};
$scope.foodlist.foodtitle = '';

$http({
  method: 'GET',
  url: 'food.json'
})
.success(function (data, status, headers, config) {
  $scope.foodlist = data.; //I don't know what to call here as my data elements have no names?
})
.error(function (data, status, headers, config) {
  //error
});
}]);

私が立ち往生している最初のポイントは、JSON オブジェクトに名前がない場合、どうすれば「$scope.foodlist」にデータを割り当てることができるかということです。

私はこれまでにうまくいかなかった試みのPlunkrを構築しました.a)JSONの読み取りとb)JSONデータをコントローラーの値に割り当てることのガイダンスをいただければ幸いです。

4

2 に答える 2

0

最初の問題はコントローラーの定義にあります: $http を参照しようとしていますが、それを渡していません。

myApp.controller('EmailsCtrl', ['$scope', '$http', function ($scope, $http) {

次に、successあなたのdataパラメータはあなたfoodlistです:

.success(function (data, status, headers, config) { $scope.foodlist = data; })

最後に、html ではng-repeat次のようになります。

ng-repeat="food in foodlist"

于 2013-10-30T20:51:53.720 に答える