如何将以下jquery代码翻译成Dart?我很难使用js让alert 回调正常工作.互操作.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
  $(function () {
    $('p').hide('slow', function() {
      alert("The paragraph is now hidden");
    });
  });
</script>

感谢您的帮助.

推荐答案

谢谢你的提问!我自己也不确定,但事实证明这是可能的

首先,在你的pubspec中添加js.亚马尔:

name:  jquerydart
description:  A sample application

dependencies:
  js: any

然后,通过命令行或DART编辑器运行pub install.

然后,在您的DART文件中:

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

hideIsDone() {
  window.alert('all done!');
}

void main() {
  js.scoped(() {
    js.context.jQuery('p').hide(1000, new js.Callback.once(() => hideIsDone()));
  });
}

请注意,要从JS回调到DART,您需要创建一个回调对象.

还要注意,jQuery变量不能使用$,因为dart2js也使用$.所以同时你需要在你的Dart代码中使用jQuery.

话虽如此,我们可以通过JS-DART互操作使用jQuery是很酷的,但是Dart真的应该为我们做这件事.所以我打开了BUG http://code.google.com/p/dart/issues/detail?id=6526

Dart相关问答推荐

从GTIN中提取GS1公司前缀

将数据库提供程序导入另一个文件提供程序 dart

VS Code 无法识别 Flutter 中的单元测试

一键式 Flutter 工具提示

在`lib`文件夹中使用`src`子文件夹有什么好处吗

访问用户环境变量

如何在 Dart 语言中将 Future 转换为 List

如何在flatter中使用SQFlite更新数据库表

dart- 四舍五入

Flutter url_launcher 未在发布模式下启动 url

iOS 上 Flutter 的代码设计错误

如何在 Dart 中获取当前脚本的目录?

你如何在 Dart 中将月份的日期格式化为11th、21st或23rd?

如何更改Flatter DevTools的默认浏览器?

如何正确管理 Flutter 应用中的全局 textScaleFactor?

如何在没有脚手架的情况下显示snackBar

'dart:async' 的函数 `runZoned` 的用途

dart 是否支持运算符重载

Dart 中 == 和 === 有什么区别?

从函数返回多个值