【发布时间】:2021-12-22 14:40:39
【问题描述】:
如果我在应用程序模块(根模块)或装饰器@Injectable 处将服务设置为提供者,使用providedIn: 'root',我假设我将在这两种情况下实现相同的行为。这意味着我的所有应用程序都将“看到”根模块提供的同一个单例类。
但是,如果我没有在服务的 @Injectable 装饰器中设置任何模块并将该类用作应用程序组件模块中的提供者,我将无法在未“创建”的组件中看到相同的服务通过我的模板。例如,我不能在 MatDialog 中使用该服务,该服务是使用 TS 而不是我的模板创建和打开的。
话虽如此,这些方法之间的技术区别是什么?
【问题讨论】:
标签: angular