Saya memiliki komponen Angular2 di komponen yang saat ini memiliki banyak bidang yang memiliki @Input () diterapkan sebelum mereka untuk memungkinkan pengikatan ke properti itu, yaitu
@Input() allowDay: boolean;
Apa yang ingin saya lakukan sebenarnya adalah mengikat ke properti dengan get / set, sehingga saya bisa melakukan beberapa logika lain di setter, sesuatu seperti berikut
_allowDay: boolean;
get allowDay(): boolean {
return this._allowDay;
}
set allowDay(value: boolean) {
this._allowDay = value;
this.updatePeriodTypes();
}
bagaimana saya melakukan ini di Angular2?
Berdasarkan saran Thierry Templier, saya mengubahnya, tetapi itu melempar kesalahan Tidak dapat mengikat ke 'allowDay' karena itu bukan properti asli yang dikenal:
//@Input() allowDay: boolean;
_allowDay: boolean;
get allowDay(): boolean {
return this._allowDay;
}
@Input('allowDay') set allowDay(value: boolean) {
this._allowDay = value;
this.updatePeriodTypes();
}
[allowDay]="....". If the field (setter) name and the property name you want to use for binding are the same, you can omit the parameter for
@Input (...) `.