gpt4 book ai didi

dart - 如何在 Dart lang 中创建全局(在窗口上)对象?

转载 作者:行者123 更新时间:2023-12-01 05:02:07 25 4
gpt4 key购买 nike

假设我想创建一个名为 Hello 的全局对象并添加函数 world在该对象上,以便浏览器中的任何其他 JavaScript 库都可以简单地使用 window.Hello.world(); 调用它

如何在 Dart lang 中创建这样一个对象,以及如何将其公开/全局放置/放在 window 上目的?

在纯 JavaScript 中,我将能够编写:

window.Hello = {
world: function() {
console.log("Hello World!");
}
}

window.Hello.world();

但是你如何在 Dart 中做到这一点?

最佳答案

我从事 Dart-JS 互操作。这是使用新包:js/js.dart 互操作的最简洁方法。

@JS()
library your_library;

import 'package:js/js.dart';

@anonymous
@JS()
class HelloObject {
external factory HelloObject({Function world});
external world();
}

@JS()
external set Hello(HelloObject v);
@JS()
external HelloObject get Hello;

main() {
Hello = new HelloObject(world: allowInterop(() { print("Hello from dart"); }));

// You can also call this object from Dart as an added bonus.
// For example you could call this from Dart or Js.
/// Hello.world();
}

关于dart - 如何在 Dart lang 中创建全局(在窗口上)对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45812372/

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