5

私はコードをTypescript 0.9にアップグレードし、Jquery、JqueryUI、Knockout、Knockout.Mapping、Knockout.ValidationのDefinitelyTyped定義を更新しました。Typescript 0.9 + Knockout:奇妙なコンパイラエラー

コードが一見コンパイルされ、正しい出力jsファイルが表示されます。

しかし、KnockoutObservable<T>KnockoutObservableArray<T>obs(value: T)セッターの使用はすべて無効なタイプを指定しています。

Error 27 Supplied parameters do not match any signature of call target. 
Error 28 Could not select overload for 'call' expression. 

私は約100のエラーがあります。私が1を入力しようとすると、intellisenseはすべてのタイプに対して(): T(value: bool):voidを提供します - はい、指定されたTに関係なくboolです。 VS、コンパイラ、またはWebEssentialsのバグですか? 〜100のエラーを消すにはどうすればよいですか?

EDIT(視覚的証拠): enter image description herelot.TimeOnServerdata.TimeOnServernumberで、KnockoutObservable<number>あります。

はい、私はvs +のウィンドウを再起動しました。エラーは継続されました。

+0

IsValid関数を取り戻すために追加

interface KnockoutSubscribableFunctions { isValid: KnockoutComputed<boolean>; isValidating: KnockoutObservable<boolean>; rules: KnockoutObservableArray<KnockoutValidationRule>; } 

あなたはVSは、上でグラグラを投げているこれらの行のいずれかを投稿できますか? – thomaux

+1

@Anzeo:added example screenshot – TDaver

+0

@kingdango:「裸のラムダが好きじゃない?このコードは正しくコンパイルされて実行されます。 – TDaver

答えて

2

私はこの同じ問題を抱えていました。私は調査していないなぜこれが起こっているが、私のプロジェクトではknockout.validation.d.tsの最後のインターフェイスをコメントアウトした後、エラーが消え去る。これにより、検証のためにisValidへの呼び出しが中断されます。私は、次の

interface KnockoutObservableBase { 
    isValid: KnockoutComputed<boolean>; 
    isValidating: KnockoutObservable<boolean>; 
    rules: KnockoutObservableArray<KnockoutValidationRule>; 
} 
+0

奇妙なことに、それはうまくいった! – TDaver

関連する問題