0

我无法跟踪 Model 实例的属性。例如,我有如下声明:

MyModel = Backbone.Model.extend({});

然后在我看来,我经常做类似的事情:

var someVal = this.model.get('someProperty');

我开始通过将视图的字符串封装在一个对象中并将其作为第二个参数传递给视图的构造函数来将视图的字符串移动到常量中的任务,例如:

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);

这将使我能够清楚地看到 Model 实例包含的属性,并将字符串值移动到适当位置的常量中。

我没有看到这个推荐或任何例子。我错过了什么吗?人们如何看待这个想法?

4

1 回答 1

2

这是解决一个非问题。您的模型应该具有明确定义的属性 - 我们使用默认哈希来枚举模型的所有可用属性。这不仅提供了模型拥有的属性的目录,而且还提供了一种覆盖未验证输入的方法。

于 2012-04-07T00:12:26.630 回答