骨干事件触发不同视图之间的协调
Backbone Event triggers coordinating between different views
所以我有一个主视图,里面有一组对象。这些对象将在旋转木马中左右滑动。
我有一个事件绑定到主视图内的mousedown,以跟踪他们在此期间滚动鼠标的距离。然而,如果它们在按住鼠标的同时滚出主视图元素,我仍然希望跟踪距离以及触发mouseup事件的时刻。
集成这样一个从本地主干视图开始但具有触发元素的事件的UI逻辑的好方法是什么?我觉得有一些陷阱,特别是在未来的易读性方面,如果我要将功能分散到全球和本地视图中。
我认为您必须将鼠标事件捕捉器移出CarouselView。其实并没有那么奇怪。
您可以定义一个ElasticView,其中el
是body
。它包含CarouselView,其主要工作是监听CarouselView.$el
中的mousedown,也可以监听document.body
中的mouseup。
如果您将其作为参数添加到ElasticView构造函数中,它也可以直接与CarouselView通信。或者可以通过EventAggregator或通用模型或其他方式进行通信。
相关文章:
- 根据某些条件在视图之间切换
- 如何在rapaidjs中的视图之间共享数据
- angularJS:如何打破模型和视图之间的链接
- 在同一控制器上的视图之间切换
- 在主干中的视图之间传递值
- 骨干事件触发不同视图之间的协调
- 在两个视图之间来回转换
- titanium:窗口和视图之间的区别
- 在主干.js视图之间传递消息
- 如何在 dialog() 模式弹出窗口中的部分视图之间保留字段数据
- 在不同的视图之间共享相同的操作/功能
- 在视图之间移动时,主干会丢失下拉事件
- AngularJS:使用不同的控制器保持不同视图之间的视图状态
- 角度如何在搜索和结果视图之间切换并传递数据
- 在 AngularJS 中的视图之间保留 GoogleMaps 映射对象
- 在 Ionic 上的视图之间共享数据
- SugarCRM 7-如何在视图之间共享代码
- SAPUI5:如何在两个视图之间筛选列表
- Titanium Mobile固定背景视图之间的图像
- 如何在AngularJS中的视图之间移动$routeProvider时阻止$destroy-of-scope