如何初始化没有默认值的 BackboneJS 模型

How to initialise a BackboneJS model that has no defaults?

本文关键字:BackboneJS 模型 默认值 初始化      更新时间:2023-09-26

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

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

但是像你一样拥有它并没有错。扩展应用时,您肯定会向该模型添加函数。