如何判断模型中的模型是否为新模型?

时间:2012-12-07 15:01:22

标签: javascript templates backbone.js

如果我的模型是新模型,则我想在模板中显示特定元素。

我试图展示{{ id }}{{ cid }}{{ isNew }},但所有这些都是空的。

以下是示例:

// The Model
var MyModel = Backbone.Model.extend({});

// In the view
var model = new Contact();
this.$el.empty().append(this.template(model.toJSON()));

// The template :
{{#if isNew}}New model{{/if}}

我该如何测试?

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

以下是我提出的解决方案:

// The Model
var MyModel = Backbone.Model.extend({
    'toJSON': function () {
    // Copied from the source
    var obj = _.clone(this.attributes);

    obj['isNew'] = this.isNew();
    return obj;
    }
});

当然,这可以确保此模型没有属性“isNew”;)