Хуки жизненного цикла входной совокупности от родственного компонента angular2

У меня есть два компонента братьев и сестер, как показано ниже

<broker-list (onBrokerClicked)="onBrokerClicked= $event"></broker-list>
<station-list [(broker)]="onBrokerClicked" [(ngModel)]="stations"></station-list><!--broker is an input-->

когда пользователь нажимает на список брокеров, в брокере компонентов списка станций, который является @Input заселяется. ngModel в список станций можно заполнить только после того, как щелкнет компонент-брат или, другими словами, заполняется входной брокер. Я хочу, чтобы точный момент, когда вход заполняется от родственного компонента, который не находится в ngOnInit, Есть ли какое-либо событие или что-то, что поднимается после ввода данных, что я могу сделать что-то в этом???

2 ответа

Решение

Ты можешь использовать ngOnChanges импортируя onChanges от @angular/core,

Что делает ngOnChanges? ngOnChanges срабатывает при каждом изменении входных значений.

import { onChanges } from @angular/core;

Определите ваши ngOnChanges внутри класса:

export your_class_name implements onChanges{

 ngOnChanges(){
 //Do your stuff with the input
 }
}

Добавить метод установки в Input() имущество

Станция-list.component.ts

private _broker;

@Input() set broker(value) {
     this._broker = value
     // do the stuff every time when broker value is changed
}

get broker(value) {
     return this._broker;
}
Другие вопросы по тегам