【发布时间】:2012-03-16 21:32:12
【问题描述】:
我最近正在评估一个用于我们下一个项目的 JavaScript 框架。我真的很喜欢Ember。但是在我们的应用程序中,我们需要数据层的事件机制来通知控制器层发生了一些变化。我知道可以在 Ember 中使用 obersevers,例如:
person.addObserver('fullName', function() {
// deal with the change
});
但我更喜欢 Backbone.Events 中的更多内容,您可以订阅或发布事件,具体来说:
var object = {};
_.extend(object, Backbone.Events);
object.on("alert", function(msg) {
alert("Triggered " + msg);
});
object.trigger("alert", "an event");
有人知道这在 EmberJS 中是否可行?
也为您提供一些关于我的问题的背景信息,我们的应用程序是一个实时应用程序。所以有时,后端 RESTful 服务会向客户端(JavaScript 端)触发一个事件。我想要一个数据层来封装对后端 RESTful 服务的访问,但也保留一个缓存。我希望 EmberJS.Data 可以帮助我(这是我想找到答案的另一个问题)。有了这个,我还希望在后端 RESTful 服务发生更改时更新缓存。更新缓存对象后,我希望通知控制器层。这基本上就是为什么我需要在 JavaScript 端使用一些事件机制。
请注意,我不想使用 Observers 的原因是有时,一个事件可能意味着我必须执行一个操作,即加载一条消息,或指示语音呼叫即将到来。骨干方式对我来说似乎更自然。
谢谢
【问题讨论】:
标签: ember.js