配置Restangular,以便在应用的任何部分重用它

Configure Restangular to reuse it in any part of the app

本文关键字:任何部 应用 Restangular 配置      更新时间:2023-09-26

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

// 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应用的任何部分进行查询。

你可以写一个服务,返回一个包含所有rest配置的单例对象,并把它注入到使用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 */ });
}]);
相关文章: