ExternalDartReference 扩展类型
指向可传递给 JavaScript 的 Dart 对象的不可见引用。
引用表示形式取决于底层平台。当编译到 JavaScript 时,Dart 对象是 JavaScript 对象,可以直接使用而无需任何转换。当编译到 Wasm 时,使用内部 Wasm 函数将 Dart 对象转换为不可见的 JavaScript 值,稍后可以使用另一个内部函数将其转换回来。
此接口通过不使用 JavaScript 对象包装 Dart 对象,充当阿里JSBoxedDartObject 扩展类型(JSBoxedDartObject)的更快替代方案。然而,与JSBoxedDartObject不同,此值属于 Dart 运行时,因此不能作为 JS 类型使用。这意味着用户无法将此作为表示类型声明 interop 类型,也无法在此类型上声明 interop 成员。此类型也不是JSAny的子类型。此类型只能用作外部JavaScript interop成员或回调的参数和返回类型。使用JSBoxedDartObject以避免这些限制。
除了这些差异之外,ExternalDartReference在与JSBoxedDartObject功能上几乎相同。使用它通过 JavaScript 在同一运行时内部传递 Dart 对象。结果没有可用的成员在ExternalDartReference中。
见ObjectToExternalDartReference.toExternalReference以允许将任意Object传递给 JavaScript。
- 在
-
- ExternalDartReferenceRepType
- 实现类型
属性
- hashCode → int
- 此对象的哈希码。无设置器继承
- runtimeType → Type
- 对象运行时类型的表示。无设置器继承
方法
-
noSuchMethod(
Invocation invocation) → dynamic - 当访问不存在的方法或属性时调用。继承
-
toString(
) → String - 此对象的字符串表示。继承
运算符
-
operator ==(
Object other) → bool - 相等运算符。继承