我正在尝试在 Dart 中创建一个简单的对话框,我认为使用现有的 javascript 库更容易。Here http://jqueryui.com/dialog/你可以找到基本的例子,基本上
$( "#dialog" ).dialog();
在互联网和 stackoverflow 上你可以找到 1000 个例子,但没有一个对我有用。
我认为这是正确的方法:
import 'dart:js' as js;
//[...]
var jquery = new js.JsObject(js.context['jQuery']);
var myob = jquery('#dialog').dialog();
我得到的只是这个错误:
异常中断:类“JsObject”没有实例方法“call”。
我是否误读了 Dart 的文档?
基本上,有 2 个库可以与 js 互操作:dart:js https://api.dartlang.org/docs/channels/stable/latest/dart_js.html and 包:js http://pub.dartlang.org/packages/js. dart:js已创建于包:js大多数 stackoverflow 答案都使用包:js并且仍然有效(不值得对这些答案进行否决......)
包:js提供了更简单的 Api,但代价是增加了 js 大小(因为包:js uses 飞镖:镜子 and 没有这样的方法).
With 包:js :
import 'package:js/js.dart' as js;
main() {
js.context.$("#dialog").dialog();
}
With dart:js :
import 'dart:js' as js;
main() {
js.context.callMethod(r'$', ['#dialog']).callMethod('dialog');
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)