createDartExport<T extends Object> 函数

Object createDartExport<T extends Object>(
  1. T dartObject
)

对于标记为可导出的 Dart 对象(Tagged as exportable Dart object),该函数创建一个 JS 对象字面量,它将转发到相应的 Dart 类。查看 @JSExport 注解以确定 Dart 类中什么构成“可导出”(“exportable”)。该对象字面量将是导出名称(这些名称是写实例成员的名称或它们的重命名)到对应的 Dart 实例成员的映射。

例如

@JSExport()
class ExportCounter {
  int value = 0;
  String stringify() => value.toString();
}

@JS()
@staticInterop
class Counter {}

extension on Counter {
  external int get value;
  external set value(int val);
  external String stringify();
}

...

var export = ExportCounter();
var counter = createDartExport(export) as Counter;
export.value = 1;
Expect.isTrue(counter.value, export.value);
Expect.isTrue(counter.stringify(), export.stringify());

实现

external Object createDartExport<T extends Object>(T dartObject);