3

JSON を返すサービスがあります。これが応答であると仮定します。

{
    "model": 48870,
    "id": 20
}

私がすることができます:

$scope.response = Service.get();

そして、JSON 応答を に割り当てます$scope.response。ここでの問題は、 または または 経由でそれぞれ直接アクセスできないmodelことidです。この状況に対する私の回避策は、サービスの成功コールバックと fetchまたはfromで関数を定義することです。しかし、JSON オブジェクト全体が含まれていることを考えると、これはあまり実用的ではなく、理論的には (そしてクリーンなコードのために) その子にアクセスできるようにする必要があります。$scope.response.model$scope.response.idmodeliddata$scope.response

ここで 2 つの質問:

  1. モデルの AngularJS 表現の制限ですか?
  2. 呼び出しごとに成功のコールバックを定義せずに、子 (孫であっても) を指すにはどうすればよいですか?
4

2 に答える 2

1

非同期 HTTP 呼び出しが返されると、応答のプロパティに直接アクセスしても安全です。

この短い例を参照してください

app.controller('MainCtrl', function($scope, $resource) {
  $scope.data = $resource('data.json').get(function() {
    $scope.loaded = true;
    //now it's safe to access $scope.data's properties:
    $scope.data.foo = $scope.data.id + ':' + $scope.data.model;
  });
});

UI バインディングは自動的に機能します。

于 2013-01-29T18:15:07.577 に答える
0

私はあなたが探しているものがここに記述されていると思います:

http://docs.angularjs.org/tutorial/step_05

于 2012-11-17T20:51:37.253 に答える