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 最後一個例子看起來像聚合物。 –
其實,我沒有看到飛鏢的任何日誌。我沒有看到「嘿,我聽到了!」是否有可能,我從錯誤的地方聽它?我有一個應用程序類,開始與應用程序初始化。在那裏我添加了這些聽衆。 –
哦,停下來。一切都在工作。你的答案工作起來很神奇,我看到很多「嘿!我聆聽!」在控制檯中。儘管如此,我還是爲此掙扎了幾個小時。你會介意加入這個答案嗎,所以我可以標記是一個解決方案? –