Eu tenho um componente Angular2 nesse componente que atualmente possui um monte de campos que têm @Input () aplicado antes deles para permitir a ligação a essa propriedade, ou seja,
@Input() allowDay: boolean;
O que eu gostaria de fazer é vincular a uma propriedade com get / set, para que eu possa fazer alguma outra lógica no setter, algo como o seguinte
_allowDay: boolean;
get allowDay(): boolean {
return this._allowDay;
}
set allowDay(value: boolean) {
this._allowDay = value;
this.updatePeriodTypes();
}
como eu faria isso no Angular2?
Com base na sugestão de Thierry Templier, eu mudei para, mas isso gera o erro Não é possível vincular a 'allowDay', pois não é uma propriedade nativa conhecida:
//@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 (...) `.