TypeScript构造函数中的私有变量声明以引发DI

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TypeScript构造函数中的私有变量声明以引发DI相关的知识,希望对你有一定的参考价值。

要使用TypeScript在Angular 2中引入依赖注入,我们使用如下代码:

constructor(private _service : SampleService){}

我想知道private关键字在变量声明中的重要性。如果我们不宣布服务是private会影响吗?

谢谢

答案

constructor(private _service : SampleService){}是注入要在组件中使用的服务的推荐方法。

如果你不使用private,你将不得不编写更多的代码行来访问构造函数之外的注入服务,如下所示:

class CompClass {
  private _service: SampleService;
  constructor(service : SampleService) {
    this._service = service;
  }

  doSomething() : void {
    this._service.makeServiceCall();
  }
}

以上是关于TypeScript构造函数中的私有变量声明以引发DI的主要内容,如果未能解决你的问题,请参考以下文章

如何在带有接口的 Typescript 中声明公共和私有变量?

C++ 类 - 派生类中的构造函数声明

js面向对象

由Java中List和ArrayList 引发的思考,什么是面向接口编程?

为啥我可以在复制构造函数中访问私有变量?

OpenMP 性能影响:私有指令与在构造内部声明变量