Я новичок в 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 возвращает DOES, имеет подпись вызова, я думаю? Я думаю, что я неправильно понимаю что-то важное о типизации функций, но я не знаю, что это такое.
Спасибо!