3

我有一个返回 JSON 的服务,假设这是响应:

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

我可以做这个:

$scope.response = Service.get();

它会将 JSON 响应分配给$scope.response. 这里的问题是我不能分别直接访问modelid通过$scope.response.model$scope.response.id。对于这种情况,我的解决方法是在服务的成功回调中定义一个函数并 fetchmodelidfrom data$scope.response但是考虑到包含整个 JSON 对象,这不是很实用,理论上应该(并且为了干净的代码)让我访问它的子对象。

这里有两个问题:

  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 回答