在下面的示例(Typescript,1.7+)中,我需要更改哪些內容以允許B.callback
擁有與A.callback
不同的簽名?改變Typescript中子類的方法簽名?
class A {
callback(result: number) {
}
}
class B extends A {
callback(result: number, option: number) {
}
}
目前這給test.ts(7,7): error TS2415: Class 'B' incorrectly extends base class 'A'.
在現實世界中我的例子是比較複雜的,但我可以動態地(或多或少)保證(基於某些配置)所請求的參數將在那裏。
從傳統的角度來看,我和你在一起。在我的例子中,儘管'callback'被傳入Angular(作爲一個控制器),並且動態地接收了一些基於它的配置的參數(這是在B的'constructor()'中設置的)。 – left4bread