代码之家  ›  专栏  ›  技术社区  ›  Jacob Phillips

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

  •  1
  • Jacob Phillips  · 技术社区  · 7 年前

    将Dart函数传递给Javascript代码时,当前的约定是使用 allowInterop() 从…起 package:js (大概)。这可以很好地工作,但它会创建一个闭包,这是需要构造函数的Javascript代码所不允许的。

    我做了一些挖掘,但到了死胡同 here :

    external DART_CLOSURE_TO_JS(Function function);
    

    这个去哪儿了?它是开源的吗?

    1 回复  |  直到 7 年前
        1
  •  4
  •   Jenny Messerly    7 年前

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

    Dart custom element interop demo . 档案 web/interop.js

    Reflect.construct()

    同时,我的建议是在JS中定义自定义元素类,并使用interop与Dart对话(反之亦然)。