好问题。我建议的方法是将常量放在这样的constant
声明中:
angular.module('fooApp').constant('config', {
api: {
baseUrl: 'http://api.example.com/api',
key: 'SECRET_API_KEY',
}
});
你可以实现一个httpResourceFactory
负责创建 $http 或 $resource 引用,这些引用使用 config.xml 中定义的常量指向不同的端点。这可以在服务中实现。
然后可以将所有 API 端点定义放入单个服务中。
angular.module('fooApp').factory('dataService', ['httpResourceFactory', function(httpResourceFactory) {
var PUBLIC_API = {};
PUBLIC_API.Orders = httpResourceFactory('/orders/:id');
PUBLIC_API.Users = httpResourceFactory('/some-url/users/:id');
return PUBLIC_API;
}]);
然后在您的控制器中,您可以注入dataService
并执行以下操作:
$scope.users = dataService.Users.query();
希望这能澄清它。我很着急,所以问得更具体一些,稍后我会提供更多示例。