骨干事件触发不同视图之间的协调

Backbone Event triggers coordinating between different views

本文关键字:视图 之间 协调 事件      更新时间:2024-03-20

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

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

集成这样一个从本地主干视图开始但具有触发元素的事件的UI逻辑的好方法是什么?我觉得有一些陷阱,特别是在未来的易读性方面,如果我要将功能分散到全球和本地视图中。

我认为您必须将鼠标事件捕捉器移出CarouselView。其实并没有那么奇怪。

您可以定义一个ElasticView,其中elbody。它包含CarouselView,其主要工作是监听CarouselView.$el中的mousedown,也可以监听document.body中的mouseup

如果您将其作为参数添加到ElasticView构造函数中,它也可以直接与CarouselView通信。或者可以通过EventAggregator或通用模型或其他方式进行通信。