1
サードパーティのインターフェイス(特にD3)を使用してクラスを作成する必要がある状況に直面しています。匿名関数を使用したインターフェイスを実装するTypescriptクラス
私はD3.Forceインターフェイスを実装するクラスを作成したいのですが、私のコンパイラはそれを持っていません。
class CustomForce<NodeDatum extends D3.SimulationNodeDatum> implements D3.Force<NodeDatum, any> {
// Some more code at some point
}
これは、次のエラースロー:D3.Forceの定義を調べて
Class 'CustomForce<NodeDatum>' incorrectly implements interface 'Force<NodeDatum, any>'.
Type 'CustomForce<NodeDatum>' provides no match for the signature '(alpha: number): void'
を、私は、以下を参照してください。
export interface Force<NodeDatum extends SimulationNodeDatum, LinkDatum extends SimulationLinkDatum<NodeDatum> | undefined> {
(alpha: number): void;
initialize?(nodes: NodeDatum[]): void;
}
どのように私は取って無名関数を実装します引数としてalpha
?!
は、私のような疑いがあります。しかし、メソッドを持つTypescriptで関数を作成するのは間違っています... –
jsでは関数はオブジェクトなので、技術的に問題はありません。私もそれを避けるのが普通ですが、そのオプション –