我试图将一个有效的JavaScript事件监听器移植到AngularDart。
在AngularDart中,我确认(通过警告"准备就绪!")初始应用程序准备好'调用document事件侦听器,但不接收后续事件消息。我错过了哪些允许AngularDart接收像JavaScript代码那样的后续事件消息?
以下是一个有效的JavaScript事件监听器:
document.addEventListener('app-ready', function() {
app.listen(function(message) {
switch (message.name) {
case "name1":
alert(message.payload.message);
break;
case "name2":
alert(message.payload.message);
break;
}
});
});
以下是我将上述JavaScript移植到AngularDart中的尝试:
import 'dart:js';
import 'dart:html';
import 'dart:async';
class AppComponent implements OnInit {
ngOnInit() async {
document.on["app-ready"].listen((CustomEvent message) {
context.callMethod('alert', ['ready!']);
app.listen(_eventReady(message));
});
}
Future _eventReady(CustomEvent message) async {
var messageEvent = new JsObject.fromBrowserObject(message);
if (messageEvent['name'] == "name1") {
context.callMethod('alert', [messageEvent['payload']['message']]);
}
if (messageEvent['name'] == "name2") {
context.callMethod('alert', [messageEvent['payload']['message']]);
}
}
}
答案 0 :(得分:1)
您应该可以在第一部分使用dart:html
:
import 'dart:html';
void main() {
document.on['app-ready'].listen((event) {
// ...
});
}
我需要更多的背景来帮助你完成第二次。