そのコンポーネントにはAngular2コンポーネントがあり、そのコンポーネントには現在、そのプロパティへのバインドを可能にするために@Input()が適用されたフィールドがたくさんあります。
@Input() allowDay: boolean;
私がやりたいのは、get/setでプロパティにバインドして、次のようなセッターで他のロジックを実行できるようにすることです。
_allowDay: boolean;
get allowDay(): boolean {
return this._allowDay;
}
set allowDay(value: boolean) {
this._allowDay = value;
this.updatePeriodTypes();
}
Angular2 でこれをどうやって行うのでしょうか?
Thierry Templier の提案に基づいて次のように変更しましたが、既知のネイティブ プロパティではないため、「allowDay」にバインドできないというエラーが発生します。
//@Input() allowDay: boolean;
_allowDay: boolean;
get allowDay(): boolean {
return this._allowDay;
}
@Input('allowDay') set allowDay(value: boolean) {
this._allowDay = value;
this.updatePeriodTypes();
}
ベストアンサー1
@Input
以下のように、セッター上で直接設定することもできます。
_allowDay: boolean;
get allowDay(): boolean {
return this._allowDay;
}
@Input() set allowDay(value: boolean) {
this._allowDay = value;
this.updatePeriodTypes();
}
このPlunkrをご覧ください:https://plnkr.co/edit/6miSutgTe9sfEMCb8N4p?p=preview。