角度injectable.providedIn vs module.providers

yuv*_*.bl 7 angular-services angular-decorator angular-providers angular

一种常见的做法是将服务包括在 @NgModule.providers

@NgModule({
  providers: [
    MessageService
  ]
})
Run Code Online (Sandbox Code Playgroud)

根据Angular 教程,您可以提供服务而无需在@NgModule装饰器中指定它,通过使用@injectable.providedIn

@Injectable({
  providedIn: 'root',
})
export class MessageService {...}
Run Code Online (Sandbox Code Playgroud)

使用 Angular 教程中介绍的方法有什么好处吗?