Я начал играть с новыми загруженными ленивыми компонентами в angular 9. У меня есть компонент с сохранением состояния, использующий NGXS, чье состояние лениво загружено в модуле рядом с компонентом, но после рендеринга компонента хранилище не обновляется. с новым состоянием.
Функциональный модуль
@NgModule({
imports: [
NgxsModule.forFeature([PurchaseState]),
SharedModule,
FormsModule,
GridModule,
PurchasesApiModule,
SidePanelCoreModule
],
declarations: [PurchaseDetailsPageComponent, PurchaseDetailsFormComponent, PurchaseDetailsAllotmentListComponent],
})
export class PurchaseDetailsModule {
constructor() {
console.log('PURCHASE CONSTRUCTED')
}
}
Dynami c Загрузчик компонентов
async getComponent(key: string) {
const lazyComp = await import('@pe/purchase-details').then(c => c.PurchaseDetailsPageComponent);
const factory = this.componentFactoryResolver.resolveComponentFactory(lazyComp);
this._component = this.content.createComponent(factory, null, this.injector);
}
Вещи вроде GridModule
(который только здесь объявлен) работает нормально, но я предполагаю, что часть загрузки модуля, выполняемая провайдерами, не запускается?
Кто-нибудь сталкивался с чем-то подобным?
I попытался включить объявление модуля для состояния внутри файла .ts компонента, описанного в этой статье , но без игры в кости: (