1
我知道,我的问题是不是新的,但所有的解决方案,我在这里和在网上查到不工作:(或者说,我做的事情完全错误听JS自定义事件。在DART
我需要创建飞镖和JS之间的沟通,我喜欢使用事件,这个想法似乎是整洁和简单
所以,我想这个教程: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。
但是,当涉及到飞镖,没有任何工作。
我尝试以下方法,一切都失败:
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!");
}
任何帮助主要是赞赏。
'document.on [ 'fromJavascriptToDart']听((CustomEvent的事件){ 打印( “嘿,我听!”); });'工作正常。 https://dartpad.dartlang.org/9cc2ecbe7a0b6479c56de882566982c9 最后一个例子看起来像聚合物。 –
其实,我没有看到飞镖的任何日志。我没有看到“嘿,我听到了!”是否有可能,我从错误的地方听它?我有一个应用程序类,开始与应用程序初始化。在那里我添加了这些听众。 –
哦,停下来。一切都在工作。你的答案工作起来很神奇,我看到很多“嘿!我聆听!”在控制台中。尽管如此,我还是为此挣扎了几个小时。你会介意加入这个答案吗,所以我可以标记是一个解决方案? –