Здравствуйте!
У меня есть метод, который создает компонент
manualParsing(): {
var component = this.cfr.resolveComponentFactory(LeadTemplateLoaderComponent);
this.tableViewComp = this.tableViewContainer.createComponent(component);
this.tableViewComp.instance._ref = this.tableViewComp;
this.tableViewComp.instance.loadedDataResponse = this.data;
this.tableViewComp.instance.currentFilePath = this.requestData.FilePath;
//etc
}
Он создается, с ним работают. И есть еще один метод, который обращается к instance этого компонента и смотрит на его булево
if (this.tableViewComp.instance.isTemplateLoaded) {
this.tableViewComp.destroy();
this.manualParsing();
//Method for new component
this.DoSomeWithNewComponent()
}
То есть он должен проверить, если true, тогда он удаляет текущий компонент и создает новый через метод manualParsing();
Проблема в том, что DoSomeWithNewComponent() не отрабатывает на новом компоненте. В дебаге я увидел, что он делает так:
1) Вызывается destroy() на текущем компоненте.
2) Создается новый компонент через manualPearsing();
3) DoSomeWithNewComponent() отрабатывает на старом компоненте.
4) Старый компонент удаляется
5) Новый компонент соответственно без изменений
Как можно решить этот вопрос?
Лазил в офф. документацию, гугл, ничего полезного не нашел там.
P.S Angular v 4.4.3