我想做点什么
// WARNING: this code does not work, it's illustrative
query("#myBtn").onClick.listen((e) {
window.fire["foo"];
});
window.on["foo"].listen((e) => print("foo was here"));
window.on["foo"].listen((e) => print("and here"));
有可能吗?怎么样?我一直在Google上搜索几个小时,但我对编程很新,所以我真的不知道任何关键字。
谢谢! :)
- 编辑:解决 -
以下是如何传递参数(编辑器会抱怨,但它有效)
List<String> myData = ["one","two"];
query("#myBtn").onClick.listen((e) {
window.on["foo"].dispatch(new CustomEvent("foo", canBubble: false, cancelable: false, detail: myData));
});
window.on["foo"].add((e) => print( e.detail[1] ));
: - )
答案 0 :(得分:16)
你说你想传递数据。我们假设我们有这个类:
class Person {
String name;
int age;
}
那么这个听众:
window.on['foo'].listen((e) {
Person p = e.detail;
print(p.name); // Jack
});
我们需要传递数据的所有东西都是这样写的:
var p = new Person()
..name = 'Jack'
..age = 25;
var e = new CustomEvent('foo', detail: p);
window.on['foo'].dispatch(e);
这是做到这一点的方法。请参阅文档:
答案 1 :(得分:7)
这应该有效:
window.on['foo'].listen((e) => print("foo was here"));
参见文档: