'call'メソッドを使用して 'this'参照を切り替えようとすると、TypeScriptでエラーが発生します。エラーを取り除くためにこれを行うためのより正しい「正しい」方法がありますか?Function.prototype.call()メソッドを使用したときのTypeScriptエラー
ここでチュートリアルをやったときに、私はそれに遭遇しましたが、私は(このコードにそれを蒸留することができます。再現するhttp://www.angular-meteor.com/tutorials/socially/angular2/privacy-and-publish-subscribe-functionsをステップ9.10にgithubのから直接そのチュートリアルのコードを使用して、同じ問題を生じ
コード(上記のチュートリアルでは9.10)に加えて:
function testIt(): Object{
return {};
}
testIt.call(this);
エラーが発生:
[ts] Supplied parameters do not match any signature of call target.
編集:私は取得していますことに注意をこの問題は特にVisual Studio Codeなどで、すべての環境でエラーが発生することはありません。
この呼び出しはどこで行いますか? 「これ」とは何ですか? – Bergi
あなたは望むならリンクのチュートリアルで完全な文脈を見ることができます(それは9.10の 'Meteor.publish'呼び出しで具体的に現れています)。それは言われました - それは重要ですか? 'this'が有効なオブジェクトである限り、' .call() 'メソッドは' this'の型を受け入れるべきではありませんか?また、すべてが実行され、期待どおりに動作することに注意してください。これは、Typescriptリンターのタイプエラーのようです。 ...私はまた、私はさまざまな場所で試したことを付け加えます。これは、 'これは別のものを指します - 同じエラーに関係なく。 – WillyC
私はTypescriptがメソッドの中で 'this 'の型を宣言するのに問題があったことを知っています。たぶん 'testIt'はオブジェクトに対して呼び出されないと予想される関数(メソッドではない)でしょうか? '.call(未定義)'を試してください – Bergi