Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 构建一个月内天数集合的最佳方式是什么(主干日历)_Backbone.js_Model_Structure - Fatal编程技术网

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或任何此类唯一标识属性创建按钮,以便选择您想要的月份

请阅读本文,让您对主干有更深入的了解