我发现自己做了很多这样的事情,例如:
var Item = Backbone.Model.extend({
});
var sampleItemCode = 12345;
var item = new Item({itemCode: sampleItemCode});
我没有要设置的任何属性的默认值,但我想让它成为自己的模型。有一个像这样的空Backbone.Model看起来很奇怪,所以我想知道是否有一个很好的方法来初始化它?
答案 0 :(得分:1)
最好是这样的。
var Item = Backbone.Model.extend({
defaults: {itemCode: -1}
});
itemCode肯定需要一个项目。所以默认它。因此,当您在Item
模型中编写一些函数时,您将始终拥有itemCode,并且可以对其进行检查。当您从服务器获取数据以进行收集时,如果该项没有itemCode,或者在初始化Item时,如果您未能设置itemCode,则它将始终具有默认值。
例如,如果要向集合中添加新项目。你可以这样做。
collection.push(new Item({name: "Item 56", price: 1500}));
这里你不需要每次传递itemCode:-1。它将被默认,当您保存时,在服务器中,您可以检查itemCode,如果它是-1,您可以将其视为新项目添加。
但是像你一样拥有它并没有错。在扩展应用程序时,您肯定会为该模型添加功能。