问题标签 [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 回答
167 浏览

angularjs - 在角度控制器初始化中调用 dart 函数

我尝试在 AngularJS 控制器初始化中调用 dart 函数,但我得到ReferenceError: myFunction is not defined.

索引.dart

我的 AngularJS 的 html:

在我看来,context['myFunction']控制器初始化时尚未设置。我怎样才能等待它并初始化$scope.var

0 投票
1 回答
92 浏览

dart - 将 javascript 移植到 dart 的斗争

我喜欢移植到 Dart 的原始 javascript 代码。

我努力了

但这并没有像我预期的那样工作。也许是因为 js.JsObject 返回 dart 对象。我必须使用JsObject.jsify吗?似乎只jsify接收飞镖对象的集合。

0 投票
2 回答
615 浏览

dart - 使用 Dart 中 Blockly 的 addChangeListener() 函数(js 互操作)

我一直在编写一些包装器代码来使用 dart:js 从 Dart 访问 Blockly API。一切都很顺利,直到我需要将一个函数传递给 JS 端的 Blockly 事件注册函数之一。

Blockly 中有问题的功能是addChangeListener()(请参阅https://developers.google.com/blockly/installation/code-generators)。它需要一个 0-arg 函数作为回调。所以我的目标是包装一个 Dart 函数,将其传递过来,并在事件触发时调用该函数。

在飞镖中:

当 Blockly 初始化时,我得到这个堆栈跟踪:

堆栈跟踪屏幕截图

我希望有人能指出我错过的一些明显的东西。

我有一种感觉,这可能与 blockly 在内部处理函数的方式有关,因为我尝试在 blockly 之外传递函数并且它工作正常。

0 投票
1 回答
390 浏览

dart - 有没有办法在 Dart 中捕获 JavaScript 异常?

我有一个<core-icon>元素

这导致了这个异常

在我看来,这是一个<core-icon>问题,我将提出一个问题,但无论如何我的问题是:

有没有办法在 Dart 中捕获这样的 JavaScript 异常?

我当然试图icon = null;用成功try/catch或失败来换行window.onError.listen((e)...);

0 投票
1 回答
238 浏览

javascript - 如何在聚合物元素中使用 Dart 中的 javascript

我正在尝试修改sample-google-maps以在聚合物元素内工作。在运行以下代码时,除了标题之外我什么都看不到,也没有任何错误。请告知我该如何进行这项工作。

从长远来看,我想使用 google-chart api 和 Polymer dart 定义其他组件。有人可以给我指出一个可行的例子。

索引.html

googlemapcanvas.html

googlemapcanvas.dart

0 投票
1 回答
696 浏览

dart - 飞镖客户端隐藏/混淆代码

是否可以隐藏/混淆客户端飞镖代码(或飞镖生成的js)?

看起来混淆是使用 javascript 的途径。飞镖是否带有混淆器?

谢谢

0 投票
1 回答
114 浏览

dart - Anonymous callback function to JsObject doesn't update Dart Controller until after a user action

Given the dart code

which calls the JS:

which should affect the view:

After a button click and a 500 millisecond delay I see in my console a "WTF" print correctly. The div, however, is still visible. Once a user action occurs, in my case a mouse click, the div magically disappears. It seems as though the controller's value is changed, but the browser doesn't receive the change to hide the div, as I've printed the controller's value in the anonymous callback.

There is a work around, but it involves setting Dart timer's to the same fade times that you use in the javascript after the JsObject call and setting your controller's values in those Timer callbacks - gross but it works.

0 投票
1 回答
738 浏览

dart - 在 JavaScript 中使用 Dart 类

我有一个 Dart 类(foo.dart):

将 foo.dart 编译为 JavaScript 后,我​​希望能够像这样使用 Foo:

我的问题:

  • 这目前可能吗?
  • 如果是这样,怎么做?
  • 如果没有,有什么计划(如果有的话)使之成为可能?

dart:js 库文档指出

这个库还没有让 Dart 对象在 JavaScript 中可用,它们的方法和属性 [原文如此] 是不可访问的,尽管它确实允许 Dart 函数被传递到 JavaScript 中并从 JavaScript 中调用。

“尚未”这个词提供了一些希望,但我在其他任何地方都找不到关于这个主题的任何内容。

编辑:

我确实意识到可以使用 dart2js 从 JavaScript 调用 Dart 函数。但是,我想要做的有些不同。我希望能够从 JavaScript 访问 Dart 类的所有功能。

0 投票
2 回答
567 浏览

dart - 在没有 Dart VM 的情况下将 Dart API 导出到 JavaScript

我想在没有 Dart VM 的浏览器上将 Dart API 导出到 JavaScript。例如,给定一个 A 类:

我想使用导出的 API 创建一个 JavaScript 对象:

对我上一个问题的回答将我指向 js-interop。

但是,在完成README 示例时,我无法获得预期的结果。看来我的 Dart 库没有被导出到 JavaScript 中。

pubspec.yaml

示例/main.dart

图书馆主:

库/a.dart

索引.html

(不清楚最后一个脚本标签的 src 属性应该指向哪里。我也尝试过使用 /example/main.dart ,这不会改变我的结果。)

我希望能够在编译(Tool -> Pub Build)并加载 index.html 后打开控制台,然后执行以下操作:

但是,我得到了这个:“无法读取未定义的属性'A'”。换句话说,dart.a是未定义的。

在 index.html 中包含原始 Dart 脚本表明 js-interop 适用于带有 Dart VM 的浏览器。我尝试在 Dartium 上运行 index.html,结果相同。

我错过了什么?

0 投票
1 回答
213 浏览

dart - 将 Skrollr 与 Dart 一起使用

我正在尝试使用 Skrollr.js 在我的 Dart Web 应用程序中实现一些基于滚动的动画。到目前为止,我在 main() 中有以下内容:

出于某种原因,我在运行时遇到以下错误:

skroller.min.js 已放置在 index.html 旁边的应用程序中,因此我正在寻求有关此处问题的帮助。

此外,如果它是基于滚动动画的纯 Dart 替代品,我也很高兴知道这一点。

提前致谢。