backbone.js 如何判断模板中的模型是否为新模型?

ltskdhd1  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(169)

如果我的模型是新的,而不是现有的,我希望在模板中显示特定的元素。
我尝试显示{{ 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}}

我怎么测试?

new9mtju

new9mtju1#

下面是我想出的解决方案:

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

相关问题