2017-08-29 20 views
1

私はJavascriptとしてKotlinコードをコンパイルしようとしています。私のコードでは、文字列をURIとしてエンコードする必要があります。私の2つの変異体は、両方のコンパイルに失敗している:このコードコンパイラでKotlinコードからJavascript関数を呼び出す方法は?

class PlaceholderJS(prefix: String, placeholder: String?): Placeholder(prefix, placeholder) { 
override fun encode(str: String): String { 
    return encodeURIComponent(str) 
} 

https://www.w3schools.com/jsref/jsref_encodeuricomponent.aspに応じて、すべてのブラウザでサポートされている、関数encodeURIComponentで(STR)を見つけることができません。

オルタナティブ:

class PlaceholderJS(prefix: String, placeholder: String?): Placeholder(prefix, placeholder) { 
override fun encode(str: String): String { 
    return URLEncoder.encode(str, Charsets.UTF_8.name()) 
} 

は(Javaでのようにファイルにインポート)JavaクラスのURLEncoderを見つけることができません。これは、JSではなくJVM用にコンパイルされたときに機能します。また

私はKotlinモジュールが付いています:

external fun encodeURIComponent(str: String): String 

が一度せずにコンパイルさKotlinクラスすべてにこれを追加しました:私はKotlinにJavaScript関数を宣言する最新の方法があることがわかっ

compileKotlin2Js.kotlinOptions.moduleKind = "umd" 

答えて

2

問題。

関連する問題