有人可以用简单的词语向我解释这些差异。任何有或没有代码的实时示例也可以。
答案 0 :(得分:4)
服务是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]