J'ai un composant Angular2 dans ce composant, il a actuellement un tas de champs qui ont @Input () appliqué avant eux pour permettre la liaison à cette propriété, c'est-à-dire
@Input() allowDay: boolean;
Ce que je voudrais faire est en fait de me lier à une propriété avec get / set, afin que je puisse faire une autre logique dans le setter, quelque chose comme ce qui suit
_allowDay: boolean;
get allowDay(): boolean {
return this._allowDay;
}
set allowDay(value: boolean) {
this._allowDay = value;
this.updatePeriodTypes();
}
comment pourrais-je faire cela dans Angular2?
Sur la base de la suggestion de Thierry Templier, je l'ai changé en, mais cela génère l'erreur Can't bind to 'allowDay' car ce n'est pas une propriété native connue:
//@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 (...) `.