gpt4 book ai didi

dart - 有没有更好的方法可以使用新的 js 0.6.0 包从 JS 调用 Dart 类的方法?

转载 作者:行者123 更新时间:2023-12-04 12:46:51 27 4
gpt4 key购买 nike

index.html(头)

<script>
var callDartMethod = function(dartObject) {
return dartObject.fullName();
}
</script>

index.dart
import 'package:js/js.dart';

@Js() // about to being changed to @JS
external String callDartMethod(p);

main() {
final p = Person.create(firstName: 'Günter', lastName: 'Zöchbauer');
print(callDartMethod(p)); // indirect call from JS
// print(p.fullName()); // call from Dart directly
}

@Js() // about to being changed to @JS
class Person {
external String get firstName;
external set firstName(String firstName);

external String get lastName;
external set lastName(String lastName);

external Function get fullName;
external set fullName(Function function);

external factory Person({String firstName, String lastName});

static Person create({String firstName, String lastName}) =>
new Person(firstName: firstName, lastName: lastName)
// works but feels a bit cumbersome
..fullName = allowInteropCaptureThis(fullNameImpl);

static String fullNameImpl(self) => '${self.firstName} ${self.lastName}';
}

最佳答案

简短的回答:没有。
pkg/js目前专注于让 Dart 应用程序使用 JavaScript 库。

我们希望更容易地将用 Dart 编写的 API 导出给 JavaScript 消费者,但这会在以后实现。

关于dart - 有没有更好的方法可以使用新的 js 0.6.0 包从 JS 调用 Dart 类的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33174508/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com