2016-11-08 12 views
2

文字列を返すラムダ式をAPIの説明に従って、(String | Object [] | Function)型を受け入れるプロパティに代入しようとしています。それが動作しているようだタイプスクリプト内のラムダ式のタイプ

this._popupTemplate.content = (feature) => { 
      var template: string; 
      //.... 
      return template;  
     } 

は、しかし、webstorm氏は述べています "タイプ(機能:任意の)の

割り当てられた表現=>文字列は、文字列

を入力し 割り当て可能ではありません"

私はタイプアサーションを試しました:<string>(feature) => {...}これは効果がないようです。ウェブストーム(情報の抑制なし)をどのように満たすことができますか?

+1

'this._popupTemplate.content'は文字列であり、' String |オブジェクト[] |関数 'を呼び出す。そのタイピング定義を二重にチェックできますか?入力定義**はAPIの説明と同じではないかもしれないことを忘れないでください。 – goenning

答えて

1

Labmda式

(feature) => { 
    var template: string; 
    //.... 
    return template;  
} 

この

function(feature) { 
    var template: string; 
    //.... 
    return template; 
} 

問題のように正常な機能を記述するだけの簡単な方法あなたがいない、それは価値ですが、機能自体を割り当てるしようとしているです。あなたはまずそれを実行しなければなりません。関数(またはラムダ)の周りにかっこを追加し、引数の後にカッコを追加して実行します。このように:

this._popupTemplate.content = ((feature) => { 
     var template: string; 
     //.... 
     return template;  
    })(feature);