问题标签 [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 - Dart 中的 JS Object.create()
我在 Dart 中构建了两个 JS 对象。在 JS 中,它们是用 Object.create() 构造的:
这就是我认为的 Dart 等价物:
但是,我发现 Dart 中的两个对象看起来是一样的。当我在一个对象中调用一个函数时,它会同时在两个对象中触发。这不会发生在 JS 代码中。我怀疑 Object.create() 不应该在 Dart 中写为 context[''] 。如果这是真的,我无法在 dartlang.org 或 stackoverflow.com 中找到有关如何将此表达式正确转换为 Dart 的示例。您可以在此处查看 WaveSurfer 的 JS 源代码。
dart - 如何在稳定的 1.1.1 Dart 中绑定 JavaScript 回调并在 JavaScript (Dart2Js2Dart) 中绑定 Dart 回调?
我想写一些 Dart 函数“oKey”,它调用 JavaScript 函数“jsOnKey”(成功或异常,因为无法预测)。
接下来我希望 JavaScript 函数“onKey”将调用 Dart 函数“callbackFromJs”再次将控制权返回给 Dart(成功或异常)。
你能帮我完成这个完整的流程吗?请假设每个边界都成功或例外——我不能依赖第 3 方代码——DART 2 JS 2 DART?
为了为这个一般问题提供更多背景信息,我放置了示例代码。
jquery-ui - 如何在 dart 中使用 javascript ui 库
当我们比较 jquery-ui 的所有小部件和它的插件时,Dart 小部件真的很差。
我没有找到类似于 jqgrid 的小部件。
除了等待然后飞镖有很多小部件,有没有办法使用其他javascript库?
dart - 构建 chrome 扩展时 Dartium 和 dart2js 之间的区别
dart2js
运行我的 chrome 扩展的编译版本时出现以下问题:
我创建了一个最小的例子:
背景.dart
popup.dart
在 Chromium (Dartium) 上运行时:
在 Chrome (dart2js -> V8) 上运行时:
显然,Dart VM 对待 JS Interop 的处理方式与编译后的 javascript 略有不同。打印方式不同,在第二种jsList
情况下是“错误”类型的“jsList”。
更新: 看起来问题是由三重奏 {dart:js, dart2js, chrome API} 引起的,因为临时创建的 JsObject 在 Dartium 和 dart2js 场景中都可以正常工作。
dart - 是否可以从 Dart 定义有效的 JavaScript 函数?
对不起我的英语不好。我是 Dart 语言的新手。我一直在寻找一种在 JS 和 Dart 之间进行通信的方法。我想从 Dart 调用 jQueryUI 代码。
当我创建一个 jQueryUI 的对话框时,HTML 和 JS 代码将是这样的:
HTML 代码:
JS代码:
因此,我尝试将这些 JS 代码转换为 Dart 代码。但是,当我在下面编写这些测试 Dart 代码时,我在下面收到一条错误消息。
飞镖代码:
但是,当我在下面写一个 JS 函数和 Dart 代码时,错误消失了,程序运行成功。
JS代码:
飞镖代码:
为了找出这个问题,我进行了一些测试。当我从 Dart 将两个函数(jsFunc() 和 dartFunc()) 打印到控制台时,例如
飞镖代码:
结果如下。
显然,结果print(js.context['dartFunc'])
很奇怪。
任何人都可以帮忙吗?是否可以从 Dart 定义有效的 JavaScript 函数?
感谢您阅读到最后:)
dart - jQueryUI 和 jQueryUI-touch-punch 不适用于 Polymer.dart
我正在使用 jQueryUI 和 jQueryUI-touch-punch 和 Polymer.dart 开发一个小型 Dart 应用程序。当我不使用 Polymer.dart 时,一切正常。但是对于 Polymer.dart,出现了几个问题。这是我的代码。
索引.html
main_component.html
js/js_main.js
main_component.dart
问题是
msg1 不形成对话框,btn1 不执行我注册的鼠标单击事件。这意味着“js_main.js”中的 JS 脚本不起作用(没有错误消息)。我发现 Polymer.dart 的自定义元素实现了 Shadow DOM,它禁止来自外部的任何访问。这是问题的原因吗?
当我使用“pub build”将此 Dart 应用程序转换为 JavaScript 时,生成的产品可以在我的 iPad mini(iOS6) 的浏览器中运行。还行吧。但是,jQueryUI-touch-punch 似乎效果不佳。所以我无法从我的 iPad mini 访问任何拖动或调整大小的操作。
Dart SDK 版本为 1.2。
任何人都可以帮忙吗?
感谢您阅读到最后:)
javascript - JS 到 Dart 的转换
这是一个两部分的问题。我并不懒惰,只是在 JS 中根本不够流利,无法在引用Dart 同义词页面时转换整个库。Dart:js文档解释了如何访问 JS 全局对象,如此片段所示,但如果我没记错的话,这不是我要找的。
Q1:在下面的示例片段中,它不会通过使用 Dart 来提高 Angular 的性能,对吗?
如果我是对的,并且我确实需要转换 Dart 中不可用的库,那么 jsparser和dart-synonym真的让我很难过——我找不到任何简单的文档,当我查看实际的 dart 时我迷路了。
当我尝试运行和构建jsparser时, Dart Editor出现错误:
未处理的异常:'file:///C:/Work Root/Dart/jsparser-ec65c9e7467f/jsparser.dart':格式错误:第 26 行第 27 行:未加载类型“选项”列表 args = new Options().arguments ;
所以我尝试了 dart-synonym;它运行并正确构建,但随后显示了Dart Synonyms 页面的克隆。
Q2: 如果实现自动转换甚至是可能的,我该如何使用其中的任何一个?
dart - 如何在 dart2js 之后从 Javascript 调用 dart 方法
我在下面得到了这个 Dart 脚本,我想在使用 dart2js 编译 Dart 脚本后通过 JavaScript 访问类 hello_world 中的方法。有人知道这是如何工作的吗?!我已经知道如何访问诸如 foo(...) 之类的函数,这不是问题,但它与类和方法的工作方式不同。dartlang.org 上的教程只解释了如何访问函数,而不是方法和类。我不明白...
html - Dart onYouTubeIframeAPIReady
我如何从这个示例
https://developers.google.com/youtube/iframe_api_reference#Getting_Started在 Dart 中创建 onYouTubeIframeAPIReady 函数?当页面完成播放器 API 的 JavaScript 下载后,API 将调用此函数。