当我向AngularJS添加一个Typescript服务时,它会是一个单例吗?

时间:2014-07-27 12:33:01

标签: angularjs typescript

给出这个例子:

class AppController {
    static $inject = [
        'configService'
    ]
    constructor(
        public config: IConfigService          // Injected into parent
        ) {  
    }
} 
class AdminHomeController {
    public app: AppController;
    static $inject = [
        'configService'
    ];
    constructor(
        public config: IConfigService         // Injected into child
        ) {
    }
}

我注入了父母和孩子。有人可以告诉我,这些ConfigServices是否是IConfigService Typescript Class 的相同或不同实例?

1 个答案:

答案 0 :(得分:1)

以下是AngularJS documentation关于服务的内容:

  

Angular服务是使用依赖注入(DI)连接在一起的可替换对象。您可以使用服务在整个应用中组织和共享代码。

     

Angular服务是:

     
      
  • Lazily实例化 - Angular仅在应用程序组件依赖它时实例化服务。
  •   
  • 单身人士 - 依赖于服务的每个组件都会获得对服务工厂生成的单个实例的引用。
  •   

(强调我的)