У мене є компонент 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 я змінив його, але це призводить до помилки Не можу прив’язати до 'enableDay', оскільки це не відома рідна властивість:
//@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 (...) `.