在 Dart 中监听 JS CustomEvent

2023-12-25

我知道我的问题并不新鲜,但我在这里和互联网上找到的所有解决方案都不起作用:(或者,我正在做一些完全错误的事情。

我需要在 Dart 和 JS 之间创建通信,并且我很想使用事件,因为这个想法看起来很简洁。

所以,我尝试了这个教程:https://dart.academy/easy-dart-js-interopt/ https://dart.academy/easy-dart-js-interopt/

我的JS代码:

var customEvent = new CustomEvent("fromJavascriptToDart");
window.onload = document.dispatchEvent(customEvent);
document.addEventListener("fromJavascriptToDart", test, false);
function test() {
    console.log("Listening");
}

正如我在控制台日志中看到的 Listening 一样,该事件已调度。

但当涉及到 dart 时,却没有任何作用。

我尝试了以下方法,但一切都失败了:

document.on['fromJavascriptToDart'].listen((CustomEvent event) {
                    print("HEY! I'M LISTENING!");
                });
window.on["fromJavascriptToDart"].listen((e) => print( "HEY! I'M LISTENING!"));
window.on['foo'].add((e) => print(e.detail)); //This is not working, as there is no add method in Stream Event anymore
@Listen('fromJavascriptToDart')
    void eventTest(){
        print("HEY! I'M LISTENING!");
    }

非常感谢任何帮助。


DartPad 示例 https://dartpad.dartlang.org/9cc2ecbe7a0b6479c56de882566982c9

document.on['fromJavascriptToDart'].listen((CustomEvent event) {
  print("HEY! I'M LISTENING!");
});

工作正常。

  • @Listen()是聚合物特定的
  • add不存在(listen应使用如上所示)
  • 该事件似乎没有到达window,但我确信这在纯 JS 中表现相同。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Dart 中监听 JS CustomEvent 的相关文章

随机推荐

  • CoffeeScript 范围问题

    我在这里做错了什么 我使用粗箭头 gt 进行回调 但是当代码到达 cb onEndElement 并调用 returner 时 我得到一个空对象异常 那么为什么 returner 不存在呢 class Parser constructor
  • 如何通过值找到json token然后删除token

    例如 我在 C 中有一个像这样的 json Harry firstName Harry Harry lastName Birimirski Harry recordTitle My title Harry SomeRepeatable GU
  • 在弹性搜索中使用脚本化字段时如何返回所有字段

    使用弹性搜索我试图添加一个计算的distance字段到地理搜索 我只想在搜索文档中附加一个额外的计算字段 但是当我通过 script fields 添加计算字段时 则仅返回该字段 我尝试添加通配符字段部分 但它并没有影响结果 如何让这个查询
  • 浏览器有时会显示 JSON 文本而不是所需的页面

    我的 Rails 应用程序遇到间歇性问题 并且无法弄清楚发生了什么 当用户登录时 他们会看到一个仪表板 其中包含一些 JavaScript 代码 这些代码对操作执行 AJAX 调用 有时 当用户登录时 他们不会看到仪表板 而是看到来自操作的
  • 如何从 Matlab 移植到 Headless Octave for Web

    我有一个自己编写的 Matlab 应用程序 希望将其放在运行 Octave 的 AWS 服务器上 以通过网络公开提供服务 我从来没有用过八度 我读过 no window system 将允许我无头运行 并且我知道我可以使用 saveas f
  • 在同一表单中使用多个提交按钮

    我无法访问框架中的所有按钮 它仅适用于直方图按钮 这是我的表单 我想在 Post 方法中访问它
  • 在我的代码中,为什么缺少函数声明对于一个函数来说不是问题,但对另一个函数却抛出警告?

    在下面的程序中 我使用了两个函数 prd 和 display 在 main 中调用它们之前 我没有在 main 之前声明它们 并且我在 main 之后定义了这两个函数 然而 while prd 在 main 中工作顺利 调用 display
  • Windows Phone 7 的独立存储位置?

    我正在使用 silverlight 4 构建 Windows Phone 7 应用程序 我将数据存储在隔离存储中 如上所述here http msdn microsoft com en us library ff626519 28v VS
  • Selenium-Chrome-Headless:无法从渲染器接收消息

    我在用 Chrome 最新稳定版本61 0 3163 79Chrome 驱动程序 2 31 硒3 4 0 詹金斯和码头工人 我第一次运行 Jenkins 时出现如下错误 1 732 INFO 等待待处理的导航已完成 状态 已断开连接 无法从
  • 使用 foreach 循环更新 std::list 中的每个值 C++

    我有一个std list在 C 中 我正在尝试使用for Type t list 更新每个对象的值的操作 所以我有一个名为球的列表 每个球都有一个位置 我的 for 循环代码是 for OpenGLView AssetInstance ba
  • 服务器使用 gmail smtp 发送电子邮件获取警报

    我做了类似的事情this https stackoverflow com questions 712392 send email using gmail smtp server from php page使我的网络应用程序通过 gmail
  • 尝试使用私有框架 IOSurface 进行屏幕捕获似乎不再适用于 iOS 9

    我正在为客户开发一个现有的 非应用程序商店 应用程序 该应用程序使用 IOSurface 私有框架在后台进行屏幕捕获 这里有一些关于 SO 的线程概述了该技术 以及几个开源示例项目 同样 这是客户端使用的内部应用程序 它不适用于应用程序商店
  • 如何清除我的漂浮物?

  • /bin/sh 的 .bashrc 是否有替代方案?

    我需要一个在启动时运行的脚本 bin sh 如同 bashrc for bin bash 有什么办法可以做到这一点吗 EDIT 我都尝试过 etc profile and profile 我写echo hello world 到两个文件 这
  • 重新创建 Win32 标头是个好主意吗?

    我发现自己最近针对 Win32 编写了更多的 C C 代码 并且来自 C 背景的我对完全一致的 干净代码 产生了痴迷 因此从漂亮的 System 命名空间回到了构成 Win32 API 头文件的 defines 的混杂有点文化冲击 在阅读了
  • std::mutex 锁在覆盖 new 运算符时挂起

    我们有一个与我们的产品之一一起使用的内部内存管理器 内存管理器覆盖new and delete运算符 并且在单线程应用程序中运行良好 然而 我现在的任务是让它也适用于多线程应用程序 据我了解 以下伪代码应该可以工作 但即使使用try loc
  • 在 MYSQL / PHP 中设置最大执行时间

    我有一个 XML 文档 其中包含大约 48 000 个子文档 50MB 我运行一个 INSERT MYSQL 查询 为每个子项创建新条目 问题是由于它的大小 需要花费很多时间 执行后我收到这个 Fatal error Maximum exe
  • 如何将十六进制字符串转换为双精度型?

    我从 BLE 获取 0x0000 到 0x01c2 范围内的十六进制值到我的手机 aString 为了将其绘制在图表中 我必须将其转换为double 我已经尝试过这个方法 https stackoverflow com a 10708508
  • 在 bash 中查找并删除 .txt 文件 [重复]

    这个问题在这里已经有答案了 最近 我的外部硬盘驱动器上存有我的照片 大多数都在 DVD 上 但是 因为某些分区被破坏了 幸运的是 我能够使用 PhotoRec 另一个 Unix 分区实用程序 和 PDisk 将所有内容重新组合在一起 Pho
  • 在 Dart 中监听 JS CustomEvent

    我知道我的问题并不新鲜 但我在这里和互联网上找到的所有解决方案都不起作用 或者 我正在做一些完全错误的事情 我需要在 Dart 和 JS 之间创建通信 并且我很想使用事件 因为这个想法看起来很简洁 所以 我尝试了这个教程 https dar