0

私はこのような特定のコードを持っています

interface KnockoutObservableArrayStatic {
    fn: KnockoutObservableArrayFunctions<any>;
    <T>(value?: T[]): KnockoutObservableArray<T>;
}
declare var ko: KnockoutObservableArrayStatic;

タイプTElementの空の監視可能な配列を作成したいのですが、これは次のようなものでなければなりません

var elementArray: TElement[] = null;
var observableArray = ko(elementArray);

しかし、コンパイラは私にエラーを与えます

'KnockoutObservableArray' を 'KnockoutObservableArray' に変換できません: タイプ 'KnockoutObservableArray' と 'KnockoutObservableArray' の呼び出しシグネチャは互換性がありません

どうして?

4

2 に答える 2

3

すべてのコードを見ないとなんとも言えませんが、これはコンパイラのバグのように思えます (基本的に、「T を T に変換できません」というエラーは表示されないはずです)。自己完結型の例で問題を投稿していただければ、コードが最新の TypeScript コンパイラでコンパイルされるかどうかを確認できます。このような Knockout 型構造との一般的な互換性に関して、いくつかのバグがありました。

于 2013-10-14T16:56:32.563 に答える