在Dart中使用Jquery UI

mau*_*gch 2 jquery dart dart-polymer

我正在尝试在Dart中创建一个简单的对话框,我认为使用现有的javascript库更容易. 在这里你可以找到基本的例子

$( "#dialog" ).dialog();
Run Code Online (Sandbox Code Playgroud)

在互联网和stackoverflow上你可以找到1000个例子,但没有一个对我有用.我想这是正确的方法:

import 'dart:js' as js;
//[...]
var jquery = new js.JsObject(js.context['jQuery']);
var myob = jquery('#dialog').dialog();
Run Code Online (Sandbox Code Playgroud)

我得到的只是这个错误:

打破异常:类'JsObject'没有实例方法'call'.

我误读了Dart的文档吗?

Ale*_*uin 10

基本上,有两个库与js互操作:dart:jspackage:js.dart:js已经在package之后创建:js和大多数stackoverflow的答案都使用package:js并且仍然有效(不值得对这些答案进行downvote ...)

package:js提供了一个更简单的Api,它的代价是增加了js的大小(因为package:js使用了dart:mirrorsnoSuchMethod).

包:js:

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

main() {
  js.context.$("#dialog").dialog();
}
Run Code Online (Sandbox Code Playgroud)

dart:js:

import 'dart:js' as js;

main() {
  js.context.callMethod(r'$', ['#dialog']).callMethod('dialog');
}
Run Code Online (Sandbox Code Playgroud)