处理Twitter Flight组件的多个实例的事件
Handling events for multiple instances of Twitter Flight components
我的目标是一个解耦的UI架构。我希望转盘和分页组件彼此分离;但是分页能够监听CCD_ 1事件上的改变。
示例:http://jsbin.com/uQadehI/1/edit?html,js,输出
当我分别有两个转盘和分页的实例时,问题就出现了。我想知道Twitter Flight中的最佳设计模式,以处理Carousel和Pagination组件之间的"桥梁",而不依赖于DOM树结构等无关逻辑,最好没有硬编码的ID。
那么,有可能知道根据源转盘更新哪个分页吗?
创建一个分页混合并将其混合到转盘中似乎是有意义的。
另一种选择是使用DOM来提供结构。通过将分页和旋转木马的实例附加到同一DOM节点或树,可以在两者之间创建非声明性关系。
或者,生成一个唯一的ID(例如,使用_.uniqueIdhttp://underscorejs.org/#uniqueId)并将其与转盘中的数据一起传递。这也可以包含在响应中,允许组件确定是否对全局事件感兴趣。
TweetDeck在各种情况下使用这三种方法。使用DOM进行结构不需要额外的样板,尽管它也是最隐含的关系。使用ID是非常具体的,但在事件触发器和处理程序中需要额外的样板。使用mixin不需要样板文件,而且非常具体,但确实会产生依赖关系,您可能希望避免这种依赖关系。
我会将分页和carousel分别与_causel和_pagination混合,而不是单独的组件。这将允许您在同一组件中使用这两个组件,并将该组件连接到新的外部级别dom节点。这将允许您在本地侦听uiCarouselMoved事件,而不是将侦听器附加到文档。
示例如下:http://jsbin.com/iZeLABAW/1/edit
- 如何用javascript调用函数,然后在滚动事件中调用该函数的特定实例
- 如何在事件函数中访问窗口实例
- Jquery将事件绑定到页面上的多个实例
- 允许在自定义事件上“查找使用实例”的 IDE
- JavaScript和将事件实例传递给函数
- 处理Twitter Flight组件的多个实例的事件
- 只为构造函数的所有实例触发一次事件侦听器
- 如何访问类实例上的事件侦听器
- 触发不同实例设置的 jQuery 自定义事件
- 如何将事件绑定到 ember 中动态创建的实例.js
- 下拉列表更改事件直到第二个实例才触发
- 事件保持绑定到僵尸实例
- Extjs 5.1 事件在 Ext.select.不能在 Ext.dom.Fly 实例上使用 addListener()
- 如何将“拖动启动”事件与 CKEditor 实例分离
- 创建实例时覆盖的主干视图类事件
- 从谷歌日历 API 中的事件列表中检索实例
- 如何删除多维数据集.js实例的一天之后的事件
- 如何使用 Ember.sendEvent 将事件发送到每个实例化的控制器
- jQuery类选择器事件绑定是否将eventHandler附加到每个实例
- Jquery变量直到单击事件才实例化