Angular 2-7中的PROVIDER,INJECTOR和SERVICE有什么区别?

问题描述 投票:2回答:1

有谁能请用简单的词语向我解释这些差异。任何有或没有代码的实时示例也可以。

angular typescript dependency-injection dependencies
1个回答
5
投票

服务是Angular中的一个类,它使用Angular依赖注入器注册。在下面的示例中,StudentService类是一项服务。

import { Injectable } from '@angular/core';

@Injectable({
  providedIn: 'root',
})
export class StudentService {
  constructor() { }
}

Angular进程器负责创建服务实例并将它们注入类中。通常注射器在幕后工作。下面的代码显示了显式创建的注入器

constructor(private injector: Injector) { }

以下代码将服务直接注入主机组件。

injector.get(Service)

提供商告诉注入器如何创建服务。如果没有提供者,注入器将不知道它负责注入服务,也不能创建服务。通常,在模块或组件元数据中提及提供程序。例如,如果组件想要调用服务“FileWriter”,则组件应在元数据中提及应该由注入器创建和注入此服务。

providers: [FileWriter]
© www.soinside.com 2019 - 2024. All rights reserved.