on1k
@on1k

Как корректно удалить компонент Angular?

Здравствуйте!
У меня есть метод, который создает компонент
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
  • Вопрос задан
  • 686 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект