Tôi là người mới sử dụng bản đánh chữ và tôi có hai lớp. Trong lớp cha mẹ tôi có:Lỗi: Không thể gọi biểu thức có loại thiếu chữ ký cuộc gọi
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;
};
}
}
trong lớp con tôi có: "Không thể gọi một biểu thức có loại thiếu một chữ ký cuộc gọi"
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 cung cấp cho tôi những lỗi,
Nhưng hàm setProp trả về CÓ chữ ký cuộc gọi, tôi nghĩ vậy? Tôi nghĩ rằng tôi hiểu lầm một cái gì đó quan trọng về cách gõ các chức năng, nhưng tôi không biết nó là gì.
Cảm ơn!
'togglrBody' không nên là một chuỗi, vì bạn muốn nó là hàm – eavidan
@eavidan có đó là hàm thực sự trả về boolean. Ban đầu tôi nghĩ nó sẽ trả về một chuỗi. Vậy tôi phải đổi nó thành gì? – Justin
Bất kỳ setProp nào trả về, có vẻ như ' (val: T) => T' –
eavidan