Dev*_*mar 1 backbone.js backbone-events backbone-views marionette
我正在关注David Sulc关于Marionette的教程. http://davidsulc.com/blog/2012/04/15/a-simple-backbone-marionette-tutorial/,以便学习扩展它.
现在让我们说每只猫都有一个名字,等级和类别
AngryCat = Backbone.Model.extend({
urlRoot: '/api/cats',
defaults: {
name: "New Cat Name",
category: "Red Cat"
}
});
Run Code Online (Sandbox Code Playgroud)
现在我想制作一个这样的复合视图:
第1类:红猫(03猫)
猫1
猫2
猫3
第2类:蓝猫(02猫)
猫X.
猫Y.
我怎样才能做到这一点.请帮忙!
您可以使用该groupBy函数AngryCat按category属性对模型进行分组,然后使用sortBy按其等级对每个组进行分类(我假设您的模型具有名为ranknumber 的属性).我还假设您有一个名为angryCats包含模型的初始集合变量.
var groups = angryCats.groupBy(function(ac) {
return ac.get("category");
});
groups.each(function(group, key) {
// This will output the category name & item count
console.log(key + " " + group.length + " items");
group.sortBy(function (model) {
return model.get("rank");
});
group.each(function(model) {
// This will output the model name
console.log(model.get("name"));
});
});
Run Code Online (Sandbox Code Playgroud)
此外,如果您希望按模型的字符串属性(例如属性)对每个组进行排序,则需要从每个组name中创建一个新的本地范围的angryCats集合(组是数组),然后使用一个比较器作为链接问题概述.
希望这可以帮助
| 归档时间: |
|
| 查看次数: |
2732 次 |
| 最近记录: |