【发布时间】:2014-07-09 16:03:09
【问题描述】:
我有一个 AngularJS 项目,使用来自 angular-seed 的目录布局。 https://github.com/angular/angular-seed
app.js 包含我的 http 提供程序的配置。我所有的控制器都必须在 app.js 中使用相同的 http 提供程序配置。
在 app.js 中,
angular.module('myApp', [
'ngRoute',
'myApp.filters',
'myApp.services',
'myApp.directives',
'myApp.controllers',
]).
config(['$httpProvider', function($httpProvider)
{
if (!$httpProvider.defaults.headers.get) {
$httpProvider.defaults.headers.get = {};
}
//disable IE ajax request caching
$httpProvider.defaults.headers.get['If-Modified-Since'] = '0';
}
我有一个控制器 XXXCtrl,它在 app.js 如上所述时工作。我有另一个控制器 YYYCtrl,除非我注释掉 config(['$httpProvider', function($httpProvider) 中的代码,否则它不起作用。
所以,我的问题是这样的。如何让不同的控制器在 AngularJS 中使用不同的 $httpProvider 配置? $httpProvider 可以在单个控制器中配置吗?
【问题讨论】:
-
我认为除了在不同的模块中声明您的控制器之外,没有其他方法。
-
我可以在单个控制器中配置 $httpProvider 吗?
-
@ivarni:你的意思是创建另一个 app.js 并声明一个新的 angular.module?
-
@user3293156 否,但您可以覆盖默认标题。所有 Angular 服务都是单例的。
标签: javascript angularjs angularjs-controller angularjs-http