1

モデルが新規か既存かを問わず、テンプレートに特定の要素を表示したいと思います。

見せてみましたが{{ 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}}

どうすればテストできますか?

4

1 に答える 1

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」がないことが保証されます;)

于 2012-12-07T15:56:16.240 に答える