问题标签 [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 - 对于 dartjs,字母表( A 到 Z )空类实例的奇数列表是什么?
每个 dart 文件的已编译 javascript 的顶部都是这个奇怪的列表。
我扫描了代码的其余部分以寻找 .A (或任何其他字母),但没有运气。这究竟是为了什么目的?最终结果是 dart() 函数/构造函数的 AZ 实例是空类对象,但有什么用呢?
使用像/[A-Z]{1}\./
我这样的正则表达式发现一些字母实例用属性装饰,然后所有 27 个字母都通过这个函数运行:
这让我更加困惑。因为那行似乎SomeObject = convertToFastObject(SomeObject);
没有变化。
编辑/更新:找到了对 convertToFastObject 及其前身 dart() 类的解释 -为什么 convertToFastObject 函数让它变得更快?这是一个优化技巧。仍然给我留下一个问题,为什么 AZ 实例列表,它只是另一个优化技巧还是某种代码哈希表?
dart - 如何从函数创建对象
我正在尝试在 Dart 中为 lunr.js ( http://lunrjs.com/ ) 创建一个包装器,但是,我找不到有关如何使用this
Dart js 互操作的文档。
这是我要创建的对象:
目前这就是我所拥有的。
我如何能够this
从匿名函数访问?
另外,我将实际的 lunr.js 放在哪里?我只是为它制作一个包装器,因此除非必要,否则我看不出有任何理由将它放在 HTML 文件中。
编辑:
我也试过:
创建一个函数以允许使用this
关键字。(仍然不确定这种语法是否正确)
JsObject
然后使用该函数创建一个:
这会给我这个错误:
异常:未处理的异常:带有不匹配参数的闭包调用:函数“调用”
接下来我尝试了这个:
这给了我一个不同的错误:Exception: Illegal argument(s): object cannot be a num, string, bool, or null
这可能是因为我没有办法在以_f
这种方式创建 JsObject 时调用该函数。
dart - Dart 使用带有初始参数的 jQuery 日期选择器
这有效:
因为它以 mm/dd/yyyy 的默认形式显示了一个带有日历的框,但这不会改变格式:
它像上面一样工作,但仍然是 mm/dd/yyyy。我在这里错过了什么?
javascript - JavaScript 中的 Dart 事件
我在这里有这段代码,我正在将其转换为 Dart。问题在于回调。
我在 Dart 中的代码
正确调用了停止回调,但我不知道如何处理var node = e.target.getContainer();
line。e.target 返回一些东西,但接下来是什么。
附带问题:是mapa.callMethod('addLayer', [layer]).callMethod('enable', []);
语法,只有一种调用javascript方法的可能方式。我觉得有点麻烦:-/
这整个 js-interop 东西有点乱。我无法自行解决,需要在每一步后再次询问。我希望当我涵盖所有互操作用例时,我将能够只使用 Dart 而忘记 JS。
javascript - 从 Dart 代码调用匿名 Javascript 函数
我正在编写一个从 JavaScript 调用的 Dart 库,完成后,Dart 需要调用位于 JavaScript 中的匿名回调函数。
JavaScript:
HTML:
镖:
JavaScript 成功调用 Dart 方法联系人,Dart 成功与 Java 后端通信,该后端以 Json 响应,现在最后一步是 Dart 调用发送给它的回调,这是它失败的地方,我不能弄清楚如何使它工作。
如果我做回调(响应),这是我得到的异常:
这也失败了:JsFunction.callMethod(callback, [response]);
dart - Angular.Dart javascript互操作错误
我的代码使用 3rd 方库有问题。当我在普通的 Dart 中使用它时,它已经可以工作了,但不适用于 Angular.Dart。我使用了 Dart 教程中的第 3 章,只是在 recipe_book.dart 中添加了我的代码,它是组件。
代码失败的地方如下图所示。在我得到之后
打破异常:对象必须是 Node、ArrayBuffer、Blob、ImageData 或 IDBKeyRange
我不知道如何摆脱这个:-(也许对 Angulart.dart 更熟悉的人可以马上回答。
任何愿意帮助的人都可以在 github 上查看代码
dart - 如果不包含 .dart 文件,则 Dart js-interop 不起作用
在宣布 Dart 的新策略后,我决定将 include 从
至
但在那种情况下,js-interop 似乎坏了。dart:js.context
是空的。有什么解决方法吗?
dart - 在 Dart 中自动化 JavaScript 互操作
在我的 Dart 项目中使用第三方 JavaScript 库时,我手动浏览了该库的文档,并通过一系列繁琐的调用来迭代其属性和方法来构建 Dartcontext
代码callMethod
。 有没有人想出一种自动化的方法?
我试图首先找到一个命令行界面来内省 JavaScript 库,以便我可以自动生成 Dart 源代码。我的搜索一直不成功。
events - 为我的 Google Visualization API Wrapper 提供可重用流的最佳方式是什么?
我正在为Google Visualization / Charts API开发一个基于 Dart 的包装器,已经可以在github上查看。我为所有可用的图表创建了一个特定于图表的包装类。
现在我正在研究底层类的事件。问题是所有图表都没有共享各种事件。因此,我需要找到一种将特定事件类型分配给其相应图表的方法。我已经做的是:
问题如下:Events
接口需要一个source_visulization
参数,即我要在其上注册事件的图表。但是当我使用dart:js
它时,只有在我在图表上调用构造函数之后才可用,因为它通过JsObject
( jsChart = new JsObject(ctx[chartName], [element])
) 创建了对象。通常我会EventWrapper
在构造函数中创建实例,但由于我必须在几个类中使用事件,所以我想到了其他两种解决方案,而不是你可以在 #3 中看到的当前解决方案。
创建一个 mixin - 这实际上不起作用,因为我没有构造函数,并且我无法指定实例方法,因为它给了我一个错误:
/li>为看到的每个事件组合创建 BaseClasses,这将允许我共享最常见的代码。一些 BaseClass 将是:
NoEvents
,SelectEvent
,SelectReadyEvents
,SelectReadyAnimationFinishEvents
, ...
你们中有人有更好的解决方案吗?或者有人可以告诉我如何解决我的问题#1?#2 已经是最好的解决方案了吗?因为我只需要结合几种方法并且只有一点重复的代码?
javascript - 在 Dart JS 互操作中引用“this”
我想在 Dart 中实现以下代码:
我的 Dart 实现如下所示:
不幸的是,运行代码时出现以下错误:
空对象没有方法“callMethod”
在以下行:
上下文["this"].callMethod("_super", []);
context["this"] 似乎为空,所以我的问题是:如何引用 Dart 中的“this”变量?
更新 1:完整的示例代码可以在 github 上找到: https ://github.com/uldall/DartCocos2dTest