有没有准备好jQuery文档的AngularJS版本

时间:2013-01-09 23:50:23

标签: angularjs

我是Angular的新手,并且能够创建一个基本页面,创建一个人员列表,其中包含一些允许您选择它们​​的复选框。

See this fiddle

问题是当我将getAllPeople函数更改为从数据库中提取时

 $http.post('angular.cfc?method=returnSerializeQuery').success(function(data) {
       $scope.allPeople = data;
     });

而不是在js中构建数组,html加载为fast并加载空白列表。如果我然后搜索列表出现。我知道$ http调用太慢,无法跟上文档负载。

我必须使用$ timeout但我似乎无法使其工作,数据集有时可能需要更长的时间。如果有一个Angular版本的$(document).ready()我似乎无法找到它。

我也猜测,因为这是我的第一个功能齐全的页面,所以我没有完全正确设置它,这可能与它有关。

2 个答案:

答案 0 :(得分:2)

如果想要延迟页面呈现,直到从服务器获取数据,那么您有很好的答案(和示例)herehere

主要观点:

function Ctrl($scope) {    
    $scope.data = {};
}

Ctrl.resolve = {
    data: function($http) {
        return $http({method: 'GET', url: '/path/to/some/data'});
    }
};

var myApp = angular.module('app', [], function($routeProvider) {
    $routeProvider.when('/', {
        templateUrl: '/template.html',
        controller: Ctrl,
        resolve: Ctrl.resolve
    });
});​

另请查看此工作示例:http://jsfiddle.net/dTJ9N/54/

答案 1 :(得分:1)

$scope.allPeople = data;添加$scope.groupToPages()后的帖子()。成功回调函数中,因为ng-repeat正在关注pagedItems,而不是allPeople