问题标签 [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 投票
2 回答
379 浏览

dart - 如何从 Javascript 调用 Dart 程序?

鉴于 Dart 需要与其他 javascript 框架进行互操作。在客户端-Web 环境中,从 javascript 与 Dart 程序通信的当前或预期的最佳实践是什么?

0 投票
1 回答
359 浏览

dart - 你如何从javascript函数返回值

我正在使用 Dart 中的 js 库来访问 OpenLayers。相关代码如下:

除最后一行外,所有工作都按预期工作。_treemap.layers()应该返回一个数组OpenLayer.Layer。当该行执行时,我得到一个错误:

例外:类型错误:对象 [对象数组] 没有方法“应用”

那么,在我的 Dart 代码中从 javascript 函数获取/处理返回值的正确方法是什么?

0 投票
3 回答
4260 浏览

dart - 向 javascript 公开 Dart 函数

我对飞镖有点陌生,并试图通过在其中编写一些库函数来弄湿我的脚。

虽然我从 dart 调用 javascript 函数没有问题,但我希望能够从 javascript 调用 dart 函数,但到目前为止,我不太喜欢。

例如,我希望能够从 dart 中公开一些基本功能,例如:

然后能够从 javascript 调用它们,如下所示:

这样的事情甚至可能吗?

0 投票
2 回答
178 浏览

dart - 飞镖项目中的 Greensock 或任何其他 Javascript 库

我一直在尝试在我的新 Dart 项目中使用 Greensock JavaScript 库,但没有成功。任何人都有经验或可以向我推荐 dart 中有人成功使用外部 JS 库的指南或教程?

0 投票
1 回答
460 浏览

dart - 如何在 Dart js-interop 中为“代理”类定义方法?

我目前正在调用一个名为Bootstrap Context Menu的基于 jQuery 的插件。

为了调用它,我需要使用Javascript Interop library。但是当我从中调用 jQuery 方法时,我收到以下警告:

代码片段:

这在一些 dart/js-interop 更新之前没有发生。摆脱此警告的正确方法是什么?

0 投票
2 回答
738 浏览

dart - 如何在使用 Dart 的 chrome 打包应用程序中打开文件选择器

似乎没有任何飞镖包,所以我使用的是 Javascript 互操作。这是我到目前为止所得到的:

它失败了:

未捕获的错误:调用表单 fileSystem.chooseEntry(object, object) 与定义 fileSystem.chooseEntry(可选对象选项,函数回调)不匹配

所以似乎回调被拒绝,因为它是错误的类型。

有任何想法吗?

chrome.fileSystem docs 编辑:将可选参数改回 null(我也尝试了 Damien 在下面的建议)。

编辑:此代码现在可以使用 - 感谢 Damien!

Edit2:更新了打开文件选择器并从中读取路径的代码。但是我不确定如何通过 js_interop 使用 javascript FileReader 对象。

Edit3:请参阅Dart 邮件列表上的讨论。

0 投票
1 回答
357 浏览

dart - js-interop 测试 javascript 对象是否具有属性

是否可以测试 javascript 对象是否包含属性?

我目前正在为我想访问的每个属性包装 try/catch。我不认为这是检查对象上是否存在属性的有效方法。

0 投票
1 回答
656 浏览

javascript - 使用带有 Dart Web UI 组件的 jQuery 输入掩码插件

我正在尝试在 Dart 中使用输入掩码jQuery 插件。当我尝试添加掩码的元素不在 Web 组件中时,该插件工作正常,但是当我将其添加到 Web 组件时,它不再工作。对于不起作用的代码,我可以$("#phone-number").mask("(999) 999-9999");通过 chrome 控制台运行它并且工作正常。

此代码有效:

此代码不起作用:

0 投票
2 回答
330 浏览

dart - NoSuchMethodError 与 dart.js

我正在尝试通过 js.dart 将 paper.js 与 Dart 一起使用。

很多似乎都有效,但我也需要importSVGpaper.js 中的方法。当我尝试访问它时,js.context.paper.project.importSVG(query("#svg"));我得到NoSuchMethodError. 不知何故,因为该方法被注入到项目中——请参见下面的 paper.js 中的代码。

如何importSVG从 Dart 访问该方法?

0 投票
2 回答
145 浏览

dart - 在比 js.context.X 更深的函数上使用数组表示法而不是 NSM

js.context可以使用 Dart 中的数组表示法访问之后的所有对象吗?例如,我想将以下内容转换为使用数组表示法:

以下数组表示法会起作用吗?

另外,如果尝试访问 JavaScript 内置方法,是否应该执行以下操作?