Как вызвать метод из одного компонента в другой компонент angular 8 - PullRequest
0 голосов
/ 01 мая 2020

Я создал два компонента с именами TableComponent и DetailComponent. Эти два отдельных компонента.

TableComponent содержит нижнюю функцию

detailByID() {
    alert("test);

}

у меня есть кнопка в DetailComponent , я хочу вызвать функцию detailByID TableComponent при нажатии кнопки DetailComponent

<button id="detail" (click)="detailByID()"></button>

Подскажите, пожалуйста, как это сделать ..

Ответы [ 2 ]

1 голос
/ 01 мая 2020

Я бы сказал, что это вопрос, основанный на ситуации, то есть он зависит от того, как оба компонента связаны друг с другом, например:

  1. Если ваш TableComponent является родительским компонентом DetailComponent:

Решение: Вы можете go с Event-emitter . Пожалуйста, отправьте событие из DetailComponent, которое может вызвать функцию TableComponent. EventEmitter

Если ваш DetailComponent является родительским компонентом TableComponent:

Решение : вы можете go с Переменной TempRef , которая поможет вам вызвать Методы дочерних компонентов в шаблоне родительского компонента. TempRef

Если между обоими компонентами нет соединения:

Решение : Вы можете go с Rx js Наблюдаемые * . RxjsObservables

Пожалуйста, выберите любой способ, в зависимости от того, как он подходит для вашего варианта использования.

0 голосов
/ 03 мая 2020

шаблон компонента таблицы

<app-detail (update)="detailByID()"></app-detail>

шаблон компонента детали

<button id="detail" (click)="update.emit()"></button>

компонент детали

@Output()
update = new EventEmiter();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...