Я абсолютно новачок в машинописі і маю два класи. У батьківському класі я маю:
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не повинно бути рядком, оскільки ви хочете, щоб це була функція