我想知道是否有一种方法可以指定必须在实例化时初始化的模型属性。
Book = Backbone.Model.extent({
title: "title",
author: "author",
year: "year"
});
每当我实例化模型时,我希望限制这几个属性必须被初始化,或者至少限制足够不能设置新属性:
var book = new Book({
title: "something",
pages: "350"
});
最佳答案
试试这个:
Book = Backbone.Model.extent({
defaults: {
title: "title",
author: "author",
year: "year"
}
});
<小时/>
如果您想限制这些属性,您可以使用 validate
方法来实现:
Book = Backbone.Model.extent({
defaults: {
title: "title",
author: "author",
year: "year"
},
validate: function(attrs, options) {
var isValid = true;
_.each(_.keys(attrs), function(key) {
if (!this.defaults[key]) {
isValid = false;
}
}, this);
return isValid;
}
});
关于javascript - Backbone.js 模型,指定属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21877190/