【发布时间】:2014-05-08 17:25:00
【问题描述】:
我正在尝试逐步将我的项目转换为飞镖。我已将独立库转换为 Dart,并且在我的项目中使用 Dart 编译的 javascript。感谢my other question 的帮助。我可以调用 Dart 编译的 javascript 函数。现在我面临另一个难题。如果我的 Dart 函数需要回调,我如何将 Javascript 函数传递给 Dart 生成的 javascript 函数?
我要做的是从 Javascript 注册一个 Dart 事件处理程序,例如:
在我的 Dart 中,我有事件总线,dart 对象可以通过以下方式注册事件处理程序:
bus.on('eventName', callbackFunc);
Dart 对象通过以下方式触发事件:
bus.fire('eventName', data);
我通过以下方式将总线暴露给 Javascript 世界:
js.context['registerEvent'] = bus.on;
在Javascript中,我想调用
registerEvent('someEvent', function() { console.log('JS callback' });
注册一个事件处理器,当 Dart 对象触发事件时,会调用 JS 回调。
【问题讨论】:
标签: dart dart-js-interop