2017-12-05 11 views
6

ダーツのcall()(ネストされたオブジェクト内)というJavaScript関数を呼び出す方法はありますか?またはダート2.0を待つ必要がありますか?call()削除される可能性がありますか?ダーツから `call`というJavaScript関数を呼び出す方法

私は次のようにJSプロキシを持っている:

@JS() 
class SomethingFancy { 
    external String call(); 
} 

しかしcall()が関数にオブジェクトを有効に使用することができる、それはJSオブジェクトの機能にアクセスすることができなくなります。

は私が、私はダートでのメソッドの名前を変更するだろうことができれば、それはpackage:jsでサポートされていない:

/// By default the dart name is used. It is not valid to specify a custom  
/// [name] for class instance members. 

私が手にエラーがある:

Uncaught Error: NoSuchMethodError: method not found: 'call$0' (J.getSomethingFancy$1$x(...).call$0 is not a function)

の場合関数が存在しなかった場合、エラーは次のようになります。

Uncaught Error: NoSuchMethodError: method not found: 'callMe' (receiver.callMe is not a function)

同じオブジェクト上の他の関数は正常に動作します。

答えて

3

あなたはJS$callの前に付けることができます。

@JS() 
class SomethingFancy { 
    external String JS$call(); 
} 

JS$は、ダーツのキーワードと競合JS名にアクセスできるようにするために接頭辞として使用することができます。

関連する問題