0
我无法跟踪模型实例的属性。比如我有宣言,如:Backbone.js模型属性常量 - 这是一个好习惯吗?
MyModel = Backbone.Model.extend({});
然后在我的意见,我经常做这样的事情:
var someVal = this.model.get('someProperty');
我开始通过将它们封装移动搜索的字符串为常数的任务在一个对象,并把它当作第二个参数到View的构造函数,例如:
SchemaOptionsView = Backbone.View.extend(
{ /* Body of View here as usual */},
{
TEMPLATE: '#View-Template',
INPUT_REQUIRED:'required'
});
当我开始思考,我可以用我的模型做这个解决两个问题:
MyModel = Backbone.Model.extend(
{ /* Body of Model here as usual */},
{
PROPERTY_1 = 'p1',
PROPERTY_2 = 'p2'
});
然后我可以使用常量来检索属性值:
var someVal = this.model.get(MyModel.PROPERTY_1);
这将让我清楚地看到模型实例包含的属性,也可移动字符串值转换成一个常数一个合适的地方。
我还没有看到这个推荐或在任何例子。我错过了什么吗?人们对这个想法有什么看法?
你能提供一个如何枚举模型的可用属性的例子吗? – Jack 2012-04-08 04:42:10
@Jack是的。模型声明的默认哈希。如果你看看我的[验证库](http://github.com/toddself/Backbone.Validator/)上的例子,你会看到我正在引用的东西。 – tkone 2012-04-08 22:53:18
@杰克我知道这是一个非常古老的东西,但可能会帮助野外的人。 所以,你会为模型myModel myModel.toJSON()返回一个包含其所有属性的对象 – 2013-08-31 02:11:30