首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dart2JS如何将Dart函数转换为JS函数?

Dart2JS如何将Dart函数转换为JS函数?
EN

Stack Overflow用户
提问于 2018-10-28 13:36:13
回答 1查看 383关注 0票数 1

在将Dart函数传递给Javascript代码时,当前的约定是使用package:js中的allowInterop() (假设如此)。这工作得很好,但它创建了一个闭包,这是期望构造函数的Javascript代码所不允许的。

我做了一些调查,但得出了一个死胡同here

代码语言:javascript
复制
external DART_CLOSURE_TO_JS(Function function);

这是怎么回事?它是开源的吗?

是否可以将Dart函数转换为package:js或dart:js中的非闭包JS函数?若否,原因为何?

EN

回答 1

Stack Overflow用户

发布于 2018-10-31 02:47:10

Dart函数不能作为JS构造函数工作,因为它没有设置正确的原型。此外,使用自定义元素还有另一个困难:它必须正确地委托给DOM元素构造函数。

通常的方法是使用ES6类。我创建了一个使用JS来定义自定义元素类的示例。我想您可能已经看到了,但是为了以防万一,在这里链接它:Dart custom element interop demo。文件web/interop.js定义了自定义元素类。

如果使用Reflect.construct(),我认为ES5构造函数也可以工作。上周,我花了一些时间看看这是否有助于改进dart:html以使用自定义元素,但我认为这还不够。Dart需要一些更好的JS互操作功能。

同时,我的建议是在JS中定义自定义元素类,并使用互操作与Dart通信(反之亦然)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53028672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档