使用 JavaScript 中的 Dart 类

2023-12-04

我有一个 Dart 类(foo.dart):

class Foo {
  void talk() {
    print('Hello');
  }
}

将 foo.dart 编译为 JavaScript 后,我​​希望能够像这样使用 Foo:

var foo = new Foo(); // from foo.dart.js
foo.talk() // prints "Hello"

我的问题:

  • 目前这可能吗?
  • 如果是这样,怎么办?
  • 如果没有,那么有哪些计划(如果有)可以实现这一目标?

dart:js 库文档states:

该库尚未使 Dart 对象可以从 JavaScript 中使用,它们的方法和属性 [sic] 不可访问,尽管它确实允许将 Dart 函数传递到 JavaScript 中并从 JavaScript 中调用。

“然而”这个词带来了一些希望,但我在其他地方几乎没有找到关于这个话题的信息。

Edit:

我确实意识到可以使用 dart2js 从 JavaScript 调用 Dart 函数。然而,我想做的事情有些不同。我希望能够从 JavaScript 访问 Dart 类的所有功能。


由于摇树和缩小,这通常是不可能的。如果您有一个 Dart 应用程序(带有main()然后您可以使 Dart 函数可从 JavaScript 调用(请参阅如何从 Javascript 调用 Dart 函数?举个例子)。

据我所知,有计划支持您的要求,但我不知道进展情况或何时可以使用此类功能。

这是相关项目https://github.com/dart-lang/js-interop

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 JavaScript 中的 Dart 类 的相关文章

随机推荐

  • 我们如何使用结构体?

    我遇到的主要问题是有太多参数 我只是想摆脱它们 是的 我不理解结构的逻辑 不过 事情已经变得越来越清晰了 EDIT所以 cHao 希望我使用一个特定的案例 所以这是我编写的一个例子 include
  • iOS7 导航栏半透明 = NO

    我有一个背景图像 在所有视图中都有相同的图像 但导航栏半透明默认设置为 是 并且背景不是均匀的 我尝试了各种解决方案 但没有任何改变 我的 AppDelegate h import
  • 创建一个新列表并从现有列表中消除空单元格和带有“”的单元格

    我有以下 Excel 电子表格 A B C D 1 Product A 500 Product A 500 2 Product B 300 Product B 300 3 Product C 400 Product C 400 4 Prod
  • ASP.NET Core Web 应用程序中的语言不会更改

    我遵循全球化与本土化 and 构建简单的多语言 ASP NET Core 网站为我的应用程序添加语言切换的教程 所以 我创建了一个局部视图 using Microsoft AspNetCore Builder using Microsoft
  • 致命错误:调用未定义的方法 mysqli_stmt::get_result() [重复]

    这个问题在这里已经有答案了 我的以下 php MYSQLi 无法正常工作 PHP 版本 5 9 query conn gt prepare SELECT FROM users WHERE token LIMIT 1 query gt bin
  • 具有多个标头的 Ionic 4 原生 http POST

    以下是我从 Ionic 应用程序执行 http post 的方式 import HTTP from ionic native http ngx someAction assetId number userId number var asse
  • Python websockets,订阅多个频道

    我正在尝试同时连接到多个通道 并通过 python websocket 库从推送 API 接收消息 考虑下面的代码 您将如何连接到多个通道 该代码是从此处获得并稍加修改的 https pypi python org pypi websock
  • 使用 Bing Maps Quadkeys 作为 Openlayers 3 Tile 源

    我有许多图块源 它们在旧的 Silverlight 应用程序中使用 Bing Maps 的 Quadkey 系统 我想在新的 Openlayers 3 地图中使用它们 我找到了几个函数示例 这些函数会将这些源转换为 Leaflet js 但
  • 使用扩展修改浏览器 UI?

    是否有 API 可以修改 Chrome 扩展或 WebExtensions 中的常规浏览器 UI 例如 我想修改选项卡栏 以便它可以显示多行选项卡 而无需创建位于地址栏下方的工具栏 或者简单地向导航栏等添加一些样式 我似乎找不到一个 API
  • “for filename in os.listdir”导致错误“FileNotFoundError:[Errno 2]没有这样的文件或目录”

    我尝试列出非工作目录中的目录中的文件 import os for filename in os listdir home pc folder logs user1 path home pc folder logs name of file
  • 当 get 和 is 都存在时,JSTL EL 访问器翻译优先级?

    这是一个由两部分组成的问题 我有一个名为 active 的带有 char 属性的 person 对象 Person 有一个 getActive 方法 它按预期返回一个 char 在我的 JSTL EL 中 我有以下内容
  • 垂直连接制表符分隔的 txt 文件

    input1 input2 output 是制表符分隔的 txt 文件 如果输入1是 a b c 1 2 3 输入2是 e r t 那么我希望输出是 a b c 1 2 3 e r t 我尝试通过学习使用 python 连接文件Python
  • MongoRepository JSON 日期查询 (Spring)

    我正在尝试使用自己的查询来查询 mongo 存储库 Repository public interface LogEntryRepository extends MongoRepository
  • 了解 libx264 输出 [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我在 ffmpeg 中使用 libx264 进行编码 最后我得到了以下输出 谁能指导我理解和解释这一点 有任何参考 文档吗 01 01 06 34 43 650 I stderr 6
  • 迭代包含嵌套数组的 pandas 数据框列

    我希望你能帮我解决这个问题 我在下面有这些数据 列名称随便 data file0090 84 55 189 248 100 18 68 115 88 file6565 86 58 189 24 10 118 68 11 8 我需要将第 0
  • Celery 单元测试重试

    我目前正在为我的 celery 任务编写单元测试 并想测试我的任务是否正在重试 注意 ALWAYS EAGER 在测试设置中设置为 True app shared task bind True soft time limit 600 aut
  • Arduino 频率为 11.0592MHz。修改Timer0、delayMicroseconds()

    我在 Arduino 环境中使用 11 0592MHz 的 ATMega328P 我发现delayMicroseconds 函数快了大约27 原因是 wiring c 中的代码假设时钟速度现在为 8MHz 现在我尝试修复它 我发现了不同的帖
  • 如何安装本地 gem?

    如果我将 gem 文件下载到计算机中的某个文件夹中 我可以稍后使用它进行安装吗gem install 另外 您可以使用gem install local path to gem filename gem 这将跳过您离开时发生的通常的 gem
  • 从 VBA 调用 Python 脚本

    我在 Excel 中从 vba 调用 python 脚本时遇到问题 我阅读了解决相同问题的其他线程 但是当我运行代码时 Python 屏幕闪烁 然后消失 仅供参考 我下载了适用于 Windows 10 的 python 3 6 5 并将其添
  • 使用 JavaScript 中的 Dart 类

    我有一个 Dart 类 foo dart class Foo void talk print Hello 将 foo dart 编译为 JavaScript 后 我 希望能够像这样使用 Foo var foo new Foo from fo