JavaScript:
class MyClass {
constructor() {
console.log("MyClass instance created");
this.answer = 42;
}
}
let example = new MyClass();
console.log(example.answer);
Dart:
@JS()
library interop_test;
import 'package:js/js.dart';
@JS()
class MyClass {
external int get answer;
external set answer(int value);
}
创建一个interop类
MyClass
的实例:MyClass myClass = MyClass();
结果是:
异常:TypeError:dart.global.MyClass不是构造函数
我还尝试在@JS()注释的类中添加external MyClass();
和external factory MyClass();
,但收到相同的消息。如果我将@anonymous
注释添加到交互操作类中,则异常消失,但我无法访问实例成员。(但我不知道为什么需要匿名注释)
我正在使用 dart 2.0.0
, angular 5.0.0
, js 0.6.1+1
和通过 webdev
使用 dartdevc
。