Backbone.js 构建一个月内天数集合的最佳方式是什么(主干日历)
我正在尝试我的第一个主干项目,我偶然发现: 我有当天的模型和视图(包括事件、布局等)。对月份进行建模以包含天数集合(集合或其他-不确定)的最佳方式是什么?除此之外,模型月份还应具有一些附加功能(如:按钮-下一个月/上一个月等) 我可以这样做吗Backbone.js 构建一个月内天数集合的最佳方式是什么(主干日历),backbone.js,model,structure,Backbone.js,Model,Structure,我正在尝试我的第一个主干项目,我偶然发现: 我有当天的模型和视图(包括事件、布局等)。对月份进行建模以包含天数集合(集合或其他-不确定)的最佳方式是什么?除此之外,模型月份还应具有一些附加功能(如:按钮-下一个月/上一个月等) 我可以这样做吗 month = Backbone.model.extend({ model: { extras: button_model, days: day_collection } }); ? 还是有更好的办法
month = Backbone.model.extend({
model: {
extras: button_model,
days: day_collection
}
});
?
还是有更好的办法
谢谢我想你把模型和系列的概念搞混了。把一个模型想象成某物的一个单一实例,例如,在你的例子中,一天。如果我们想要得到一组(或集合)天,那么我们使用集合来存储它们 我们按照如下方式设置主干模型:
DayModel = Backbone.Model.extend({
});
然后,我们创建一个主干集合,明确指定要使用的模型:
MonthCollection = Backbone.Collection.extend({
model: DayModel
});
我们可以使用以下工具创建新的DayModel
:
monday = new DayModel({ name: "Monday", dayOfMonth: 12 });
大括号内的name
是我们为新的DayModel
monday
赋予的属性
可以使用以下方法检索这些属性:
monday.get('dayOfMonth');
将返回12
我们现在可以创建MonthCollection
的实例:
july = new MonthCollection();
要将模型添加到集合中(从天到月),我们只需使用以下方法:
july.add(monday);
供进一步参考
您提到了模型中存储的按钮。在我看来,最好不要使用模型来存储这样的元素。相反,您将使用主干视图,该视图将填充模型数据,并使用ID或任何此类唯一标识属性创建按钮,以便选择您想要的月份 请阅读本文,让您对主干有更深入的了解