我发现自己做了很多这样的事情,例如:
var Item = Backbone.Model.extend({
});
var sampleItemCode = 12345;
var item = new Item({itemCode: sampleItemCode});
对于要设置的任何属性,我都没有默认值,但我想让它成为自己的模型。像这样有一个空的 Backbone.Model 看起来很奇怪,所以我想知道是否有初始化它的好方法?
我发现自己做了很多这样的事情,例如:
var Item = Backbone.Model.extend({
});
var sampleItemCode = 12345;
var item = new Item({itemCode: sampleItemCode});
对于要设置的任何属性,我都没有默认值,但我想让它成为自己的模型。像这样有一个空的 Backbone.Model 看起来很奇怪,所以我想知道是否有初始化它的好方法?
最好有这样的。
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,您可以将其视为新项目添加。
但是像你一样拥有它并没有错。当您扩展您的应用程序时,您肯定会向该模型添加功能。