ฉันใหม่เอี่ยมสำหรับ typescript และฉันมีสองคลาส ในคลาสผู้ปกครองฉันมี:
abstract class Component {
public deps: any = {};
public props: any = {};
public setProp(prop: string): any {
return <T>(val: T): T => {
this.props[prop] = val;
return val;
};
}
}
ในชั้นเด็กฉันมี:
class Post extends Component {
public toggleBody: string;
constructor() {
this.toggleBody = this.setProp('showFullBody');
}
public showMore(): boolean {
return this.toggleBody(true);
}
public showLess(): boolean {
return this.toggleBody(false);
}
}
ทั้ง showMore และ ShowLess ให้ข้อผิดพลาด "ไม่สามารถเรียกใช้นิพจน์ที่ไม่มีลายเซ็นการโทร"
แต่ฟังก์ชันที่ setProp ส่งกลับมีลายเซ็นการโทรหรือไม่? ฉันคิดว่าฉันเข้าใจผิดบางอย่างที่สำคัญเกี่ยวกับการพิมพ์ฟังก์ชัน แต่ฉันไม่รู้ว่ามันคืออะไร
ขอบคุณ!
<T>(val: T) => T
togglrBody
ไม่ควรเป็นสตริงเนื่องจากคุณต้องการให้เป็นฟังก์ชัน