我假设您想要发出不需要dart:html
库存在的事件。
您可以使用 Streams API 公开事件流以供其他人侦听和处理。这是一个例子:
import 'dart:async';
class BaseModel {
Map objects;
StreamController fetchDoneController = new StreamController.broadcast();
// define constructor here
fetch() {
// fetch json from server and then load it to objects
// emits an event here
fetchDoneController.add("all done"); // send an arbitrary event
}
Stream get fetchDone => fetchDoneController.stream;
}
然后,在您的应用程序中:
main() {
var model = new BaseModel();
model.fetchDone.listen((_) => doCoolStuff(model));
}
使用本机 Streams API 很好,因为这意味着您不需要浏览器来测试您的应用程序。
If you are required to emit a custom HTML event, you can see this answer: https://stackoverflow.com/a/13902121/123471