6

私はDartを初めて使用し、js-interopライブラリを使い始めるのに問題があります。jquery uiからページにスライダーを追加したいのですが、Dartからslider()セットアップ呼び出しを行う方法がわかりません。js-interopはこれを行う正しい方法ですか?これについての助けをいただければ幸いです。

void main() {
  js.scoped(() {
    var slider = query('#slider-range');
    var options = js.map({
      'range': true,
      'values': [ 17, 67 ]
    });
    // This doesn't work. Element has no method named slider.
    slider.slider(options);

    // In javascript it's done like this:
    // $( "#slider-range" ).slider({
    //   range: true,
    //   values: [ 17, 67 ]
    // });

    // This alert works.
    js.context.alert('Hello from Dart via JS');
  });
}
4

2 に答える 2

3

あなたの場合、query('#slider- range')の代わりにjs.context。$('#slider-range')を使用する必要があります。基本的に、js.contextでは任意のJavascript変数にアクセスできます。js.context。$を使用すると、ダート側のjQuery javascriptオブジェクト(つまり$ )にアクセスできます。

import 'dart:html';
import 'package:js/js.dart' as js;

void main() {
  js.scoped(() {
    var slider = js.context.$('#slider-range');
    var options = js.map({
      'range': true,
      'values': [ 17, 67 ]
    });
    slider.slider(options);
  });
}
于 2012-11-02T14:28:30.983 に答える
1

別のサンプルコード:

import 'package:js/js.dart' as js;

js.context.jQuery();
var context = js.context;  
var param = js.map({ 'modal': true, "width":1000, "height":600});
js.context.jQuery("#dialog").dialog(param); 

HTMLで

<script src="packages/browser/interop.js"></script>

上記のコードは、jQueryを使用してdivをダイアログとして開きます。

于 2013-06-22T10:07:27.660 に答える