我应该如何操作angularjs资源对象以在视图中使用

时间:2014-03-07 18:22:14

标签: django angularjs tastypie

学习javascript并选择angularjs作为框架工作。在我的项目中,我使用django-tastypie

{

    "meta": { … },
    "objects": [ … ]

}

创建我在angularjs中使用的api,以获得一个完美运行的资源对象,

app.factory('category',['$resource',function($resource){
  return $resource('/api/v1/menu/?format=json',{},{'query':{method:'GET',isArray: false}})
}]);

我遍历控制器中的资源对象后出现问题,

app.controller('mainCtrl',['category','$scope',function(category,$scope) {
 var data = category.query();
 $scope.categories = data.$promise.then(function(result){
     return result.objects;
  });
}]);

以便在我的视图中使用数据,

<li  ng-repeat="category in categories"style="color:black;">
            [[category]]
</li>

但视图从不呈现数据,category不会产生任何结果

我肯定环顾四周,做了一些谷歌搜索,但我觉得如果得到我自己的问题的帮助我会理解。 Angularjs很复杂,那里的教程并不容易。

我很欣赏一些例子和链接的好解释。

1 个答案:

答案 0 :(得分:0)

由于请求是异步的,您需要在调用成功返回后分配调用结果,因此:

data.$promise.then(function(result){
  $scope.categories = result.objects;
});