5

モデルとビューの関係を理解し​​ようとしています。モデルとビューを構築して、そのモデルをレンダリングしようとしました。

Cannot call method 'toJSON' of undefinedモデルの実際のインスタンスがビューに送信されていないため、エラーが発生します。

ビューの初期化に何か欠けているような気がしますか?

モデル:

var sticky = Backbone.Model.extend({

defaults: {
    title:"",
    content:"",
    created: new Date()

},

initialize: function() {
    console.log("sticky created!");

}

}); 

景色:

var stickyView = Backbone.View.extend({

tagName:"div",
className:"sticky-container",

initialize: function() {
    this.render();
    console.log("stickyView created!");
},

render: function() {
    $("#content-view").prepend(this.el);
    var data = this.model.toJSON(); // Error: Cannot call method 'toJSON' of undefined 
    console.log(data);
    var source = $("#sticky-template").html();
    var template = Handlebars.compile(source);
    $(this.el).html(template(data));
    return this;
}

});

ビューの新しいモデルと新しいインスタンスの作成:

var Sticky = new sticky({title:"test"});

var StickyView = new stickyView();
4

1 に答える 1