0

js 相互運用機能を介して Dart で Bootstrap Modal ダイアログを使用しています。カスタムイベントをリッスンする以外は、すべて問題なく動作します。次のコードを使用して、「表示された」イベントをリッスンしようとしています:

js.scoped(() {
  js.context.jQuery("#myModal").on("shown", new js.Callback.once(() {
    print("Dialog Shown");         
  }));
});

ただし、イベントが発生すると、次の Dart エラーが発生します。

Class '() => dynamic' has no instance method 'call'.\n\nNoSuchMethodError : method not found: 'call'\nReceiver: Closure: (dynamic) => dynamic\nArguments: [Instance of 'Proxy']

私が間違っていることはありますか?

ありがとう。

4

1 に答える 1

1

このエラーが発生するのは、コールバックが 1 つのパラメーターを持つ必要があるためです (ドキュメントのハンドラー パラメーターはパラメーターをon受け取りeventObjectます)。したがって、コードは次のようになります。

js.context.jQuery("#myModal").on("shown", new js.Callback.many((eventObject) {
  print("Dialog Shown");
}));

js.Callback.manyの代わりに を使用することにも注意してくださいjs.Callback.once。前者では、コールバックを複数回呼び出すことができます。

于 2013-04-24T14:40:10.830 に答える