【发布时间】:2019-02-16 00:03:04
【问题描述】:
JavaScript:
class MyClass {
constructor() {
console.log("MyClass instance created");
this.answer = 42;
}
}
let example = new MyClass();
console.log(example.answer);
飞镖:
@JS()
library interop_test;
import 'package:js/js.dart';
@JS()
class MyClass {
external int get answer;
external set answer(int value);
}
创建互操作类MyClass的实例
MyClass myClass = MyClass();
结果:
异常:TypeError:dart.global.MyClass 不是构造函数
我还尝试将 external MyClass(); 和 external factory MyClass(); 添加到 @JS() 带注释的类中,但得到了相同的消息。如果我在互操作类中添加@anonymous 注释,异常就会消失,但我无法访问实例成员。 (但我不明白为什么这需要匿名注释)
我正在使用 dart 2.0.0、angular 5.0.0、js 0.6.1+1 和 dartdevc 到 webdev。
【问题讨论】:
标签: dart dart-js-interop dart-dev-compiler