我在移动项目中使用Backbone。假设我有一个这样的示例类。
var Person = Backbone.extend({
});
Person
类包含以下属性firstName
,lastName
,age
和gender
。我想在类中指定所有这些属性。所以其他开发人员知道他们要为实例设置的属性是什么。在阅读完文档之后,我看到有一个名为defaults
的属性,我可以使用它。
var Person = Backbone.extend({
defaults: {
firstName: '',
lastName: '',
age: null,
gender: null
}
});
但是我看到defaults
属性的目的是不同的吗?不要让人们知道该类包含的属性是什么。有没有更好的方法来实现这个目标?
答案 0 :(得分:1)
在我们的项目中,我们使用defaults
来实现此目的。它很好地解决了这个问题,也可以作为文档点。我知道,没有其他的支持方式。但是,您仍然可以使用老式的评论:)
答案 1 :(得分:1)
您可以编写getter函数,因此模型的属性可以直接作为模型的公共API使用。
这样,任何使用模型对象的开发人员都能够查看它的公共属性(假设她使用了不错的IDE),甚至没有打开文件进行编辑(为什么这样做?),例如:
var Person = Backbone.extend({
defaults: {
firstName: '',
// ...
},
getFirstName: function () {
return this.attributes.firstName;
}
// ...
});