AngularJS - 访问与模型关联的JSON对象

时间:2012-11-17 17:07:14

标签: angularjs

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

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

我可以这样做:

$scope.response = Service.get();

它会将JSON响应分配给$scope.response。这里的问题是我无法分别通过modelid直接访问$scope.response.model$scope.response.id。我对这种情况的解决方法是在服务的成功回调中定义一个函数,并从model获取iddata。但是考虑到$scope.response包含整个JSON对象,这不太实际,理论上(以及干净的代码)让我可以访问它的子代。

这里有两个问题:

  1. 是AngularJS模型表示的限制吗?
  2. 如何在不必为每次通话定义成功回调的情况下指向儿童(甚至是孙子)?

2 个答案:

答案 0 :(得分:1)

异步HTTP调用返回后,可以直接访问响应的属性。

See this short example

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绑定将自动生效。

答案 1 :(得分:0)

我认为你在寻找的是:

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