配置Restangular以在应用程序的任何部分重用它

时间:2014-06-11 16:02:25

标签: javascript angularjs restangular

我在文档中看到了这段代码:

// First way of creating a Restangular object. Just saying the base URL
var baseAccounts = Restangular.all('accounts');

// This will query /accounts and return a promise.
baseAccounts.getList().then(function(accounts) {
  $scope.allAccounts = accounts;
});

设置baseAccounts变量的最佳做法是什么?我应该在每个需要它的控制器中设置它吗?或者我应该像$rootScope.baseAccounts = ...那样说出来? 我想将它设置在某个地方,然后从我的Angular应用程序的任何部分进行查询。

1 个答案:

答案 0 :(得分:0)

您可以编写一个服务,该服务返回具有所有其余配置的单个对象,并将其注入使用rest的组件中:

angular.module("someApp")
.factory("REST", ["Restangular", function(Rest) {
    var Service = {};
    Service.Accounts = Rest.all("accounts");
    return Service;
}])
.controller("someController", ["$scope", "REST", function($scope, REST) {
    REST.Accounts.getList().then(function(accounts) {
        $scope.allAccounts = accounts;    
    }, function(error) { /* error handling */ });
}]);