将集合绑定到 Backbone.js 中的视图

Posted

技术标签:

【中文标题】将集合绑定到 Backbone.js 中的视图【英文标题】:Binding collections to views in Backbone.js 【发布时间】:2012-01-16 00:06:42 【问题描述】:

我是主干新手,我遇到了需要将集合绑定到视图的问题。有没有办法在 Backbone 中执行此操作,或者我是否必须遍历我的 Collection,然后将个人模型绑定到视图?我在网上找到的所有示例都经过了这些对集合的迭代(例如 http://liquidmedia.ca/blog/2011/02/backbone-js-part-3/ )。

如果这是在 Backbone 中执行此操作的方式,那么我的另一个问题是是否有另一个框架可以更好地绑定到集合。

谢谢

【问题讨论】:

【参考方案1】:

所有模型事件也被委托给集合。因此,您可以绑定到集合更改事件,而不是绑定到每个模型更改事件。每当模型更改时,集合也会触发事件,并为您提供触发事件的模型作为回调参数。

【讨论】:

ok .. 但这仍然意味着您需要将模型而不是集合传递给视图,之后对模型的任何更改都可以反映在集合中,但我不能只是绑定到集合,然后它自己整理出来?我的问题是我将始终拥有 ParentView 和 ChildViews,就像在 ToDo 示例中 ParentView 是 AppView 一样,但是在稍微复杂的应用程序中,您将拥有很多 ParentViews 和 ChildViews。 将集合实例,(collection:collectionInstance) 绑定到视图,然后将 this.collectionInstance.on('change', someFunction, this) 添加到您的视图 initialize() 方法中

以上是关于将集合绑定到 Backbone.js 中的视图的主要内容,如果未能解决你的问题,请参考以下文章

模型和集合到 Backbone 中的一个视图

Backbone.js — 匿名视图实例中的集合在获取时多次请求

Backbone.js - 按顺序插入新的视图项

Backbone.js 单个集合项视图

Backbone.js:清除所有视图的最佳方法

Backbone.js 中的命名空间