关于Backbone中的事件的快速问题 - 有没有办法定义一组全局事件,可以在不同的视图中重用?
例如 - 假设我在页面上呈现了几个视图.每个视图都有一个按钮,可以展开菜单.还有其他一些通用元素和事件.如果不把这个事件逻辑到每个查看,是否有这些意见可以继承,或从全局事件定义拉这些事件的方法吗?通过在一个地方定义这些通用事件,它肯定会节省时间并成为更清洁的解决方案.
我已经看到了诸如Event Aggregator和Factory模式之类的术语 - 但不确定最佳方法(或者它们是否会实现我所追求的目标).
Der*_*ley 53
您基本上是在描述事件聚合器或调度程序,是的.我有几篇关于使用Backbone构建和使用它们的文章:
Web上还有更多关于Backbone和其他pub/sub库的文章.
在Backbone中做起来很简单:
vent = _.extend({}, Backbone.Events);
Run Code Online (Sandbox Code Playgroud)
现在,您有一个vent对象可以在整个应用程序的视图和其他对象中用作事件聚合器.
vent.on("some:event", function(){
console.log("some event was fired");
});
vent.trigger("some:event");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13009 次 |
| 最近记录: |