Backbone Event触发不同视图之间的协调

时间:2012-07-27 21:33:39

标签: javascript user-interface backbone.js

所以我有一个主视图,里面有一组对象。物体将在旋转木马中左右滑动。

我有一个事件绑定在主视图中的mousedown 内,以跟踪他们在此期间滚动鼠标的距离。但是,如果他们在按住鼠标的同时滚动主视图元素,我仍然希望跟踪距离以及触发mouseup事件的时刻。

整合像这样的UI逻辑有什么好办法,这种逻辑以本地骨干视图开头,但是有触发元素的事件?我觉得有一些陷阱,特别是在未来可读性方面,如果我要在全球和本地观点上展开这些功能。

1 个答案:

答案 0 :(得分:2)

我认为您必须将鼠标事件捕获器移出CarouselView。实际上并不那么奇怪。

您可以定义elbody的ElasticView。它包含CarouselView,其主要工作是在CarouselView.$el中收听 mousedown ,并且还可以在document.body中收听 mouseup 。< / p>

如果在ElasticView构造函数中将其添加为param,它也可以直接与CarouselView进行通信。或者可以通过 EventAggregator 或通用模型等进行通信。