0

我发现自己做了很多这样的事情,例如:

var Item = Backbone.Model.extend({

});

var sampleItemCode = 12345;

var item = new Item({itemCode: sampleItemCode});

对于要设置的任何属性,我都没有默认值,但我想让它成为自己的模型。像这样有一个空的 Backbone.Model 看起来很奇怪,所以我想知道是否有初始化它的好方法?

4

1 回答 1

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,您可以将其视为新项目添加。

但是像你一样拥有它并没有错。当您扩展您的应用程序时,您肯定会向该模型添加功能。

于 2013-10-07T16:14:03.490 回答