2016-12-08 70 views
2

我有一個表格,點擊一行內的鏈接時,彈出一個模式,將顯示一個表單,您可以在其中編輯該表格的信息。Angular 2 Reactive Forms:如何綁定到@Input?

我試圖用一個無窗體的方法這種形式,但我無法弄清楚如何綁定到@input我的模式,這是選擇的行的信息。

這裏是我試過的東西的例子:

@Input() row; 

form : FormGroup 


constructor(rowModalService : RowModalService, fb : FormBuilder, public activeModal : NgbActiveModal) { 

    this.form = fb.group({ 
     name : [''], 

    }) 


} 

我試圖name的值初始化爲空字符串,然後找到一個有效的生命週期掛鉤,將能夠更新當值我的行輸入不是未定義的,但我找不到任何生命週期掛鉤允許這一點。

這裏是我的嘗試:

ngOnInit() { 

    this.form.controls['name'].setValue(this.row.name); 

} 

任何幫助,以做到這一點的最好辦法,將不勝感激。如果沒有模板驅動的方法,我無法找到一種方法。

+1

你試過什麼生命週期掛鉤? 'ngOnChanges'是那麼明顯這裏...查看https://angular.io/docs/ts/latest/api/core/index/OnChanges-class.html – smnbbrv

+0

我覺得這個工作的開始,但它出現在我的ngOnChanges事件並未被解僱。 –

回答

0

我已經找到了答案。它實際上與Reactive Forms方法本身無關,而是我忘記更改我傳遞的輸入參數的名稱。

您可以在您的控件綁定到你的輸入上的init在我的問題詳細說明。

0

有,你可以使用一些綁定方法。

對於這樣的綁定兩個,你可以使用[(ngModule)] =「」 ..我建議你去angular.io如果youre初學者參考教程。

希望幫助:)

相關問題