我有两个兄弟组件,如下面的
<broker-list (onBrokerClicked)="onBrokerClicked= $event"></broker-list>
<station-list [(broker)]="onBrokerClicked" [(ngModel)]="stations"></station-list><!--broker is an input-->
当用户点击代理列表时,在站点列表组件代理中填充@Input
。站点列表中的ngModel
只能在单击其兄弟组件后填充,或者换句话说输入代理将被填充。我想要输入从不在ngOnInit
中的兄弟组件填充的确切时刻。在输入人口之后是否有任何事件或某事我可以在其中做一些事情???
答案 0 :(得分:1)
将setter方法添加到Input()
属性
station-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;
}
答案 1 :(得分:1)
您可以从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
}
}