我想做以下事情:
void handleClick(){
//do stuff
}
void addHandlerToButton(){
window.document.query('#somebutton').on.click.add(handleClick);
}
Dart编辑器的静态检查报告'() -> void' is not assignable to 'EventListener'
我有一种感觉,我错过了一些非常明显的东西。
答案 0 :(得分:4)
单击处理程序将click事件作为参数传递(例如,您可以获取屏幕坐标,目标元素等)。所以你的处理程序方法签名必须是
void handleClick(Event event){
// do stuff with event
}
您正在回忆的错误实际上是在告诉您(虽然以一种神秘的方式):
'() - > void'不能分配给'EventListener'
此处 EventListener 基本上是任何带有签名 void handle(事件事件)的函数类型,因此您使用 on.click.add 添加的功能必须符合此签名。