在 Angular 17 中, 有一个名为 CommonLib 的 Angular 库,它包含一个 WaitSpinnerService,它有一个私有类变量 waitSpinner = new EventEmitter();
我在AppComponent中使用CommonLib WaitSpinnerService,因此我需要将其导入到AppModule中。我强调 WaitSpinnerService 是在:'root' 中提供的。
在 appComponent 的构造函数中,我通过订阅监听 WaitSpinnerService waitSpinner.asObservable 以打开或关闭等待微调器。
我有很多延迟加载的模块。 当我导航到延迟加载的模块时,总是创建一个新的 WaitSpinnerService 我看到,当我导航到延迟加载的模块时,总是会执行 WaitSpinnerService 的构造函数,这怎么可能?
如果您想在延迟加载模块的第二次加载时初始化微调器,那么上述方法将不起作用,那么您需要将构造函数代码移至一个方法,并在延迟加载的根组件的构造函数期间调用它已加载模块。