问题标签 [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.

0 投票
1 回答
1058 浏览

callback - 参数不匹配的闭包调用:函数“调用”

我将 (2.0)js-interop 库与 JS 库ImageLoaded结合使用,我卡住了这个FunctionProxy类,因为下面的代码抛出以下错误:

打破异常:参数不匹配的闭包调用:函数“调用”

这很奇怪,因为我的 js 回调在应用程序崩溃之前被调用了 5 次。

0 投票
1 回答
1949 浏览

dart - 如何在 Dart 中制作 window.prompt?

我使用 Dart 制作了一些应用程序,我有一个简单的问题。我没有在 dart:html 库中找到提示对话框。我发现只有警报和确认对话调用,但这不是我需要的。我已经尝试了 Dart api 的其他一些可能性,但没有办法做到这一点。我认为应该有模态对话框或 Dart 自己的提示对话框之类的东西。我知道,模态在这里,但它只在弹出窗口中加载另一个文件。

有人可以帮助我吗?


更新:实际上,我找到了一种解决方案。它是 dart:js 库中 JavaScript 的模拟:

这是一个很好的解决方案,但我认为,一定有比模拟 JavaScript 更好的方法。


更新 2:由于 Dart 规范中提示对话框的不足,这里的 Dart API 和 Dart 库是 Google 代码问题跟踪器上的一个错误,所以让我们给这个错误加标,如果你认为提示在规范中很重要,或者如果你评论有任何其他想法,如何以现代方式做到这一点(例如,您可以尝试提出诸如内置模式对话框之类的东西)。或者,如果您认为提示/模态对话框实现也应该使用现代编程语言,请分享它......


更新 3:现在我们正在讨论新的模态警报、确认和提示对话框,它们可能位于 Polymer.dart 库中。是 Google 代码问题跟踪器的增强功能,所以让我们为这个 bug 加注标,如果您喜欢该对话框的现代模式形式,或者讨论一下,如果您知道如何做得更好......

0 投票
1 回答
325 浏览

javascript - 为可以从 Dart 调用的 JavaScript 对象创建代理/直通的最简洁方法

诚然,这很奇怪,但请耐心等待:

我正在使用 Dart 的 js-interop 包,这样我就可以从 Dart 调用 JavaScript。

我必须使用的系统具有通过特定全局 JavaScript 对象的通信路径——该对象被插入到 JavaScript 上下文中作为调用本机代码的一种方式,但它不是真正的 JavaScript 对象;这有点hacky。

我不能直接为这个对象创建一个 Dart 代理,因为代理代码依赖于这个 hacky 对象不存在的原型链的某些构造函数和方面。具体来说,dart2js 生成的 JsObject_JsObject 函数会尝试调用“constr.bind.apply”,其中 constr 是 JS 对象的构造函数。这个对象没有 .bind 属性,因为它没有从其他东西正确继承,并且我所有添加/修复原型链的尝试到目前为止都失败了。

如果我能解决这个问题,那就太好了。但我的另一个选择是代理一个代理 - 制作一个真正的 Javascript 对象来包装和代理古怪的 hacky-native 对象,然后是一个 Dart 代理。

我很好奇制作 JS 代理的最干净的方法是什么——我想从 Dart 调用各种函数,使用不同数量的参数,并让调用干净地传递到本机对象,不必经常维护我的 JS 代理,确保添加到本机对象的任何函数都添加到代理中。

有没有人有任何伟大/令人毛骨悚然的想法来制作这个代理白痴,以便它不需要大量维护,而只是自动将调用重定向到本机对象?

0 投票
1 回答
230 浏览

javascript - 在没有 html 文件的情况下使用 dart:js 库

是否可以在没有 html 文件的情况下使用 dart:js 库来加载 js 文件,但可以通过其他方式在上下文中加载 javascripts?

我需要这个用于命令行应用程序,所以拥有一个 html 文件没有意义

0 投票
1 回答
189 浏览

dart - 使用 Javascript 库的 Dart 教程

是否有关于如何在 Dart 中使用 Javascript 库的新教程?我想在 Dart 中使用颜色处理库(或更好的颜色小偷),但除了 dartlang 上的通用示例之外,我还没有找到关于如何使用完整库的教程。

人们也应该开始更多地投票飞镖问题。stackoverflow 上的 [dart] 主页仍然显示旧问题。看起来没有人在这里使用飞镖:(

(如果你愿意,你可以把这个问题投票给顶部 :))

0 投票
1 回答
216 浏览

dart - Dart 和 Javascript 互操作的性能如何?

我担心编写一个需要与 D3 javascript 库互操作的 Dart 程序。需要从 javascript 访问大量数据,但我想将这些数据存储在 dart 中,我担心 Dart 和 Javascript 之间是否存在性能问题?

0 投票
1 回答
398 浏览

dart - 使用 dart:js 通过 SoundCloud JavaScript API 流式传输音频

我正在尝试编写一个库,让 dartisans 更容易使用 SoundCloud JavaScript SDK ( http://developers.soundcloud.com/docs/api/sdks#javascript )。

我正在使用 'dart:js' 库,并且我只使用一个类来处理代理。

我托管的仓库是(https://github.com/darkkiero/scproxy

当我尝试运行我的“流”方法时,就会出现我的问题。

当我尝试抓取并使用 javascript 'SC.stream' 方法返回的 soundmanager2 对象时,dart 编辑器给了我这个异常:

我的印象是我应该能够通过收集“SC.stream”的回调来获取 soundmanager2 对象的 dart JsObject,但我不确定如何。但是我可能完全滥用了“dart:js”这也是有用的信息。

0 投票
2 回答
876 浏览

javascript - 从 Dart 创建 js 对象

我有需要翻译成 Dart 的 js 代码:

将脚本嵌入头部的基本部分我这样做了:

但我不知道如何正确检查 OBJECT 和 OBJECT.somearray 是否存在于 somefile.js 中并将对象项推入其中。

0 投票
1 回答
1135 浏览

jquery - 如何从 angular.dart 组件内部调用 jquery 插件?

我正在通过尝试制作一个可以访问现有 jquery 插件的组件来了解 angular.dart 组件。我正在尝试以下内容:

不幸的是,“容器”似乎是空的……如何让 jQuery 选择组件内部的元素,即在 shadow dom 中?

BTW,目前推荐的导入js的方式是什么?我发现了这个:

但是现在包 js 的某些功能被移到 dart:js 中,我不确定应该做什么。

0 投票
1 回答
1559 浏览

dart - 你如何与 dart 中的 js 交互?

不,这与其他同名问题不同。

有看似相同的包似乎可以做到这一点,但使用不同的 api。

为什么有两个?

我们应该使用哪一个?

interop 看起来更新并且有更好的 api,但实际上并没有工作。根据文档,您应该能够转换此 javascript:

进入:

但是当您尝试编译它时会出现错误:

所以... js:飞镖?那是你应该使用的吗?

编辑:顺便说一句,对于任何偶然发现这一点的人,还有一个关于如何缩小 dart-js 互操作桥的开放错误http://code.google.com/p/dart/issues/detail?id=15795&thanks=15795&ts=1388068177操作目前不起作用。最初的问题是在 2013 年 5 月报告的,此后没有任何行动,所以不要屏住呼吸。