骨干新手:如何从收藏中获得第一个模型?

Pla*_*Ton 17 javascript backbone.js

我有一个集合,它返回给定范围内每个日期的模型(通过Rails控制器输入).

在我对集合的看法中,我想显示集合中第一个日期的月份......我只是想知道实现这一目标最优雅的方式是什么?

看起来最简单的方法是通过集合访问模型数组,然后在第一个模型中运行,并在该模型中运行所需的方法来检索月份名称.看起来很简单,但我无法弄清楚如何从集合中抓取第一个模型.

或者,我可以通过从rails调用router()来传递所需的值,但这看起来有点难看.

最后,我可以创建一个全新的集合只是为了检索那个值,但是再次 - 似乎过度了.

关于我应该怎么做的任何建议?假设将模型数据反馈回集合并不是太多禁忌,我想我正在问如何做到这一点.

djl*_*ley 49

Backbone.js集合可以访问Underscore.js方法.

MyCollection.first() 应该从集合中返回第一个模型.

  • @lucke84 - `Underscore.js`是一个很难的依赖,所以即使你正在使用另一个模板引擎(EJS,ECO,Jade等),你仍然会包含`Underscore.js`并且应该能够使用它视图中的方法(前提是它们允许对Javascript进行评估.)如果您使用的模板引擎不允许对Javascript进行评估,那么在渲染之前设置视图变量应该相当简单它的具体观点. (2认同)

Iva*_*nos 8

collection.at(0) //etc
Run Code Online (Sandbox Code Playgroud)

但是如果你必须检查是否至少有一个元素

if(collection.length){
    collection.at(0) //etc
}
Run Code Online (Sandbox Code Playgroud)