1

dart でサードパーティの JavaScript ライブラリをインポートして使用するにはどうすればよいですか? dart アプリケーションでsnapsvgを使用して svg をレンダリングしたいと考えています。しかし、依存関係を追加してインポートする方法がわかりません。

js: anypubspec.yamlに追加しpackages/browser/interop.js、html にインポートしました。ダウンロードした snapsvg.js をどこに配置し、それを dart ソース ファイルにインポートして使用しますか。

dart の snapsvg フレームワークを使用して、次の JavaScript コードを使用しようとしています。

s = Snap(800, 600);
s.rect(0, 0, 100, 100).attr({
    fill: 'white',
    stroke: 'black'
});

私はダーツからこのコードを試しました:

  import 'package:js/js.dart' as js;
  void main() {
      var s = js.context.Snap(800, 600);
      s.rect(0, 0, 100, 100);
  }

これは dartium では正常に動作しますが、ビルド後に Javascript として実行すると、「メソッド zm がオブジェクトに見つかりません」という JavaScript エラーが発生しました。

これは正しい方法ではないと思うので、プロキシで callMethod を使用する必要があります。だから私はこのようなコードを変更しました

import 'dart:js' show context, JsObject;
void main() {
     var snap = context['Snap'];
    snap.callMethod('rect', 0,0,100,100);
}

これは Dartium では機能しません。誰かがSnap(800, 600)ダーツからコンストラクターを呼び出す方法の例rectattr、サンプルコードのメソッドを提供していただければ幸いです。

4

2 に答える 2

1

タグを使用して HTML ファイルに追加し<script>ます。
dart-js-interop を使用して、Dart から JavaScript 関数を呼び出すことができます。Stackoverflow には、このタグの下に多くの例があります。質問の下のタグをクリックしてください。より具体的な例を提供すると、支援が容易になります。

于 2014-04-04T21:39:21.537 に答える