Как восстановить другой компонент из функции в другом компоненте в angular?

#angular #typescript

Вопрос:

Это может показаться странным, но у меня здесь есть 3 компонента. Структура файла

Теперь ticket-проекты-новый компонент создается первым, и данные извлекаются из БД в этот компонент. Затем данные передаются из ticket-projects-new в crupdate-ticket-project-модель в файле ts. Затем те же данные передаются из компонента permissionProject-manager через html-файл. Теперь это функция в компоненте crupdate-билет-проект-модель.

 public close() {
    window.location.reload();
}
 

здесь я установил его на перезагрузку страницы, потому что он будет повторно загружать данные. Однако есть ли какой-либо способ сделать это, например, создать новый компонент ticket-projects для повторной загрузки данных или перестроить компонент без перезагрузки страницы?

Комментарии:

1. Не могли бы вы, пожалуйста, добавить больше кода? Как вы получаете данные в первую очередь? Как вы передаете его другим компонентам?

Ответ №1:

В компоненте crupdate-билет-проект-модель:

 public refreshEvent: EventEmitter<void> = new EventEmitter<void>();

public close() {
    this.refreshEvent.emit();
}
 

Это создает событие, которое мы можем прослушать в компоненте билеты-проекты-новый.
В билете-проекты-новый компонент html, в котором вы инициализируете компонент crupdate-билет-проект-модель:

 <crupdate-ticket-project-model (refreshEvent)="refreshMethod($event)" ></crupdate-ticket-project-model>
 

В билете-проекты-новый компонент ts создайте метод обновления (), который вызовет код обновления, который вы вызовете, когда компонент загрузится, например:

 refreshMethod(event: Event){
  <WHATEVER_YOU_WANT_TO_REFRESH>
}