Tôi có một thành phần Angular2 trong thành phần đó, hiện tại nó có một trường bó có @Input () được áp dụng trước chúng để cho phép liên kết với thuộc tính đó, tức là
@Input() allowDay: boolean;
Những gì tôi muốn làm là thực sự liên kết với một thuộc tính bằng get / set, để tôi có thể thực hiện một số logic khác trong setter, đại loại như sau
_allowDay: boolean;
get allowDay(): boolean {
return this._allowDay;
}
set allowDay(value: boolean) {
this._allowDay = value;
this.updatePeriodTypes();
}
Làm thế nào tôi có thể làm điều này trong Angular2?
Dựa trên đề xuất của Thierry Templier, tôi đã thay đổi nó, nhưng điều đó gây ra lỗi Không thể liên kết với 'allowDay' vì đây không phải là một tài sản bản địa đã biết:
//@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 (...) `.