ฉันมีองค์ประกอบ Angular2 ในองค์ประกอบนั้นในปัจจุบันมีเขตข้อมูลพวงที่มี @Input () นำไปใช้ก่อนหน้าพวกเขาเพื่ออนุญาตให้เชื่อมโยงกับคุณสมบัตินั้นเช่น
@Input() allowDay: boolean;
สิ่งที่ฉันต้องการจะทำคือผูกกับอสังหาริมทรัพย์ด้วยการรับ / การตั้งค่าเพื่อที่ฉันจะสามารถทำตรรกะอื่น ๆ บางอย่างในสุนัขที่ตั้งค่าดังต่อไปนี้
_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();
}
[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 (... ) อย่างไรและที่ไหน