問題タブ [dart-js-interop]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
dart - Dartjs の場合、アルファベット ( A から Z ) の空のクラス インスタンスの奇妙なリストは何ですか?
すべての dart ファイルのコンパイルされた JavaScript の先頭には、この奇妙なリストがあります。
残りのコードをスキャンして .A (またはその他の文字) を探しましたが、うまくいきませんでした。これは正確にはどのような目的に役立ちますか? 最終的な結果として、dart() 関数/コンストラクターの AZ インスタンスは空のクラス オブジェクトになりますが、何の役に立つのでしょうか?
私が見つけたように正規表現を使用する/[A-Z]{1}\./
と、いくつかの文字インスタンスがプロパティで装飾されており、27 文字すべてがこの関数を介して実行されます。
それは私をさらに混乱させました。その行はSomeObject = convertToFastObject(SomeObject);
変更なしのように見えるようです。
編集/更新: convertToFastObject とその前身の dart() クラスの説明が見つかりました -なぜ convertToFastObject 関数で高速になるのですか? 最適化のトリックです。なぜ AZ のインスタンスのリストなのかという疑問が残りますが、これは別の最適化のトリックなのか、それともコードのハッシュ テーブルのようなものなのでしょうか?
dart - 関数からオブジェクトを作成する方法
Dartで lunr.js ( http://lunrjs.com/this
) のラッパーを作成しようとしていますが、Dart js 相互運用での使用方法に関するドキュメントが見つかりません。
これは私が作成しようとしているオブジェクトです:
現在、これが私が持っているすべてです。
this
匿名関数からアクセスするにはどうすればよいですか?
また、実際の lunr.js はどこに置くのですか? 私は単にラッパーを作成しているだけなので、必要でない限り HTML ファイルに含める理由はありません。
編集:
私も試しました:
this
キーワードの使用を許可する関数を作成します。(この構文が正しいかどうかはまだわかりません)
次に、JsObject
その関数を使用して を作成します。
これにより、次のエラーが表示されます。
例外: 未処理の例外: 引数が一致しないクロージャー呼び出し: 関数 'call'
次に私はこれを試しました:
それは私に別のエラーを与えます:Exception: Illegal argument(s): object cannot be a num, string, bool, or null
_f
これは、そのように JsObject を作成するときに関数を呼び出す方法がないためである可能性があります。
dart - 初期パラメーターで jQuery 日付ピッカーを使用する Dart
これは機能します:
のように、mm/dd/yyyy のデフォルト形式でカレンダーが入ったボックスを示していますが、これは形式を変更しません。
上記のように機能しますが、それでも mm/dd/yyyy です。ここで何を見逃したのですか?
javascript - JavaScript での Dart イベント
ここにこのコードがあり、Dart に変換しています。問題はコールバックにあります。
Dart での私のコード
stop コールバックはちゃんと呼ばれているのですが、line はどうすればいいのかわかりませんvar node = e.target.getContainer();
。e.target は何かを返しますが、次に何を返しますか。
副次的な質問:mapa.callMethod('addLayer', [layer]).callMethod('enable', []);
構文です。javascript メソッドを呼び出す唯一の可能な方法です。少し面倒だと思います:-/
このjs-interop全体はちょっと面倒です。自分で解決できず、各手順の後にもう一度質問する必要があります。すべての相互運用のユース ケースをカバーするときに、Dart を使用して JS を忘れることができるようになることを願っています。
javascript - Dart コードから匿名の Javascript 関数を呼び出す
私は JavaScript から呼び出される Dart ライブラリを作成しています。完了時に、Dart は JavaScript 内にある匿名のコールバック関数を呼び出す必要があります。
JavaScript:
HTML:
ダーツ:
JavaScript は Dart メソッドの連絡先を正常に呼び出しています。Dart は Json で応答する Java バックエンドと正常に通信しています。最後のステップは、Dart が送信されたコールバックを呼び出すことです。これが失敗し、私ができない場所です。それを機能させる方法を見つけます。
コールバック(応答)を行う場合、これは私が得ている例外です:
これも失敗します:JsFunction.callMethod(callback, [response]);
dart - Angular.Dart JavaScript 相互運用エラー
サードパーティのライブラリを使用しているコードに問題があります。プレーンな Dart 自体で使用すると、既に機能しますが、Angular.Dart では機能しません。Dartチュートリアルのchapter3を使用し、コードをrecipe_book.dartに追加しました。これは構成要素です。
コードが失敗する場所を下の図に示します。私が得た後
例外の中断: オブジェクトは Node、ArrayBuffer、Blob、ImageData、または IDBKeyRange でなければなりません
これを取り除く方法がわかりません:-( Angulart.dart に詳しい人ならすぐに答えられるかもしれません。
喜んで助けてくれる人は誰でも、githubでコードを確認できます
dart - Dart で JavaScript 相互運用を自動化する
context
Dart プロジェクトでサードパーティの JavaScript ライブラリを使用する場合、ライブラリのドキュメントを手動で確認し、そのプロパティとメソッドを反復処理して、一連の面倒なcallMethod
呼び出し を通じて Dart コードを構築します。誰かがこれを自動化する方法を見つけましたか?
まず、Dart ソース コードを自動生成できるように、JavaScript ライブラリをイントロスペクトするコマンドライン インターフェイスを見つけようとしました。検索に失敗しました。
events - Google Visualization API Wrapper に再利用可能なストリームを提供する最良の方法は何ですか?
既にgithubで閲覧できるGoogle Visualization / Charts API用の Dart ベースのラッパーを開発しています。利用可能なすべてのチャートに対して、チャート固有のラッパー クラスを作成しました。
現在、基礎となるクラスのイベントを調べています。問題は、すべてのチャートで共有されていないさまざまなイベントがあることです。したがって、特定のイベント タイプを対応するチャートに割り当てる方法を見つける必要があります。私がすでにやったことは次のとおりです。
Events APIのラッパーを作成しました。
/li>1 つのイベントのすべてのコードをカプセル化するラッパー クラスを作成しました。コードは次のようになります。
/li>チャートでは、次のようなコードを使用できます。
/li>
問題は次のとおりです。Events
インターフェイスには、source_visulization
イベントを登録するチャートである引数が必要です。しかし、これを使用すると、これは ( )dart:js
を介してオブジェクトを作成するため、チャートでコンストラクターを呼び出した後にのみ使用できます。通常はコンストラクター内でインスタンスを作成しますが、いくつかのクラスでイベントを使用する必要があるため、#3 で示されている現在のもの以外に 2 つの解決策を考えました。JsObject
jsChart = new JsObject(ctx[chartName], [element])
EventWrapper
ミックスインを作成します - これは実際には機能しません。コンストラクターがなく、エラーが発生してインスタンス メソッドを指定できないためです。
/li>見られるイベントの組み合わせごとに BaseClasses を作成します。これにより、最も一般的なコードを共有できます。いくつかの BaseClass は次のようになります:
NoEvents
、SelectEvent
、SelectReadyEvents
、SelectReadyAnimationFinishEvents
...
あなたの誰かがより良い解決策を持っていますか?または、誰かが私の問題#1を修正する方法を教えてもらえますか? #2はすでに最善の解決策ですか?いくつかのメソッドを組み合わせるだけで済み、コードが少し重複するだけでよいのでしょうか?
javascript - Dart JS 相互運用での「this」の参照
Dart で次のコードを実装したい:
私の Dart 実装は次のようになります。
残念ながら、コードを実行すると次のエラーが発生します。
null オブジェクトにはメソッド「callMethod」がありません
次の行で:
context["this"].callMethod("_super", []);
context["this"] は null のように見えるので、私の質問は次のとおりです。Dart から「this」変数を参照するにはどうすればよいですか?
更新 1: 完全なサンプル コードは github にあります: https://github.com/uldall/DartCocos2dTest