2016-04-04 10 views
0

私はTypescriptに翻訳する必要があるjavascriptを持っています。エントリパラメータとしてノックアウトオブジェクトを使用します。私が使用方法:Typescriptとノックアウト関数を返す

typescriptです輸入:翻訳のための

import $ = require("jquery"); 
import ko = require("knockout"); 

ではJavaScript:

var kFunc = function(stringParam) { 
    return function(fn, element, viewModel) { 
     var result = fn(element, viewModel); 
     return result; 
    } 
} 

このためtypescriptですが、どうでしょうか?

+0

あなたはそれが唯一のjavascriptのですか?インポートキーワードは、蒸散器なしではまだサポートされていません。 – Kalten

+0

私は2つの部分でそれを分割するはずでしたインポートはtypescriptのためのスターターです..秒で編集されます – zdrsh

答えて

1

ジェネリックスはあなたの友人です。より明示的な型情報を追加できます。

var kFunc = function<TElement, TViewMdel, TResult>(stringParam: string) : (fn:((element:TElement, viewModel:TViewMdel)=>TResult), element:TElement, viewModel:TViewMdel) => TResult { 
    return function(fn, element: TElement, viewModel: TViewMdel) { 

     var result = fn(element, viewModel); 
     return result; 
    }; 
}; 

と使用方法:

var s2:boolean= true; 
var s:string = ""; 
var m:boolean = true; 
var r:string = kFunc<string, boolean, string>("")((ss, mm) => m===true?ss:"", s, m); 
var r2:string = kFunc<string, boolean, string>("")((ss, mm) => m===true?ss:"", s2, m); // error on s2 

function tt (a:boolean, b:string):string { return "result"} 
var r3:string = kFunc<string, boolean, string>("")(tt, s, m); // error on tt 
関連する問題