Tôi là thương hiệu mới đối với bảng chữ, và tôi có hai lớp. Trong lớp cha, tôi có:
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;
};
}
}
Ở lớp con tôi có:
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);
}
}
Cả showMore và ShowLess đều cho tôi lỗi "Không thể gọi biểu thức có kiểu thiếu chữ ký cuộc gọi".
Nhưng hàm setProp trả về KHÔNG có chữ ký cuộc gọi, tôi nghĩ vậy? Tôi nghĩ rằng tôi đang hiểu sai điều gì đó quan trọng về cách đánh máy của các hàm, nhưng tôi không biết nó là gì.
Cảm ơn!
<T>(val: T) => T
togglrBody
không nên là một chuỗi, vì bạn muốn nó là một hàm