window.CardList = Backbone.Collection.extend(...);
var Cards = new CardList;
Cards.filter(...).pluck('values')
Run Code Online (Sandbox Code Playgroud)
是否有一种干净的方法来过滤集合然后采集值?我知道的唯一工作是重新初始化集合:
new CardList(Cards.filter(...)).pluck('values')
Run Code Online (Sandbox Code Playgroud)
或者在输出过滤后映射输出:
Cards.filter(...).map(...)
Run Code Online (Sandbox Code Playgroud)
这看起来很奇怪,因为它有一个非常好的.pluck()方法
CardList是一个骨干集合,一旦被过滤或拔出,它就变成了一个骨干模型阵列.
除非你将它包装在另一个骨干集合中(这是原帖提到的),否则不能再次采集一系列骨干模型
替代方式是:
用下划线包裹它并链接它:_(Cards.filter(...)).chain().pluck('attributes').pluck('value').value()
只是绘制出值(我最终使用了这个解决方案,它最终是最干净的):
_.map(Cards.filter(...), function(m) { return m.get('value') })
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4509 次 |
| 最近记录: |