2

我有两个 Angular 模块,AB. A没有依赖,一些配置和一些过滤器:

angular.module('A', [])
    .config(function ($httpProvider) {
    // set common headers for $http requests
        $httpProvider.defaults.headers.common = {...};
    })
    .filter('myFilter', function () {
        // create a filter
    });

B取决于A,所以它类似于:

angular.module('B', ['A'])...

我知道这B取决于A我可以使用myFilter内部B视图的方式。

问题是:代码是否myFilter受益于我在模块函数中$http设置的公共头文件(因为属于)?config()AmyFilterA

当从B模块内部发出 HTTP 请求时,公共标头是我在内部设置的,A还是不受内部配置的影响A

这两个问题对我来说都足够有意义:我在模块中配置了一些公共标头A,我将在A模块提供的过滤器中使用它们,但是当我在B模块内部时,我希望这些相同的公共标头不受影响; 尽管如此,当我在B视图中时,我希望能够使用A具有特定通用标题的过滤器。

4

3 回答 3

1

在任何一个应用程序中,无论你拉入什么模块,allservicesfactories都是providers

您正在使用$httpProvider一个这样的单例......因此,就单例的本质而言,对提供者进行的任何配置都意味着所有模块都会受到影响

于 2014-01-22T03:29:24.227 回答
1

这是我的想法。像任何其他角度一样$httpProvider,本质上也是单例的,这很好地意味着从任何地方(包括任何模块)对其进行的任何更改都会影响其他,或者换句话说,更改是全局的。

于 2013-08-21T10:40:10.237 回答
0

是的,这就是它的工作原理。见例子。

angular.module("foo",[]).config(function($httpProvider){$httpProvider.test = 123});
angular.module("bar",["foo"])
  .config(function($httpProvider){console.log(httpProvider.test)}); //123
于 2015-03-19T19:34:48.570 回答