我习惯于ocLazyLoad
依赖注入和按需加载 CSS 和 JS。state
在加载数据之前,我不会更改 UI-Router 。我也Restangular
用来连接API。
现在如何从解析状态调用 Restangular 函数?这是我的路线:
.state('admin.users',{
url: "/users",
templateUrl: "user/views/users.html",
controller:'UserListCtrl',
resolve: {
dep: ['$ocLazyLoad',
function( $ocLazyLoad ){
return $ocLazyLoad.load(['UserService.js']).then(
function(){
return $ocLazyLoad.load(['UserListCtrl.js']);
}
);
}],
resolvedItems: userlist()
}
})
我UserListCtrl
的是:
app.controller('UserListCtrl',function($scope,UserService){
/*
* Get all users
*/
userlist = function(){
UserService.list().then(function(data){
$scope.users = data;
$scope.pagination = $scope.users.metadata;
$scope.maxSize = 5;
});
}
})
我UserService
的是:
angular.module('app').service('UserService', function($rootScope, Restangular) {
/*
* Build collection /user
*/
var _userService = Restangular.all('user');
/*
* Get list of users
*/
this.list = function() {
// GET /api/user
return _userService.getList();
};
})