Próbuję zrozumieć związek między modelem a widokiem. Próbowałem już zbudować model i wyświetlić, aby renderować ten model.uzyskiwanie danych modelu do widoku backbone.js
Otrzymuję błąd Cannot call method 'toJSON' of undefined
, który rozumiem jako faktyczne wystąpienie modelu nie jest wysyłane do widoku.
Czuję, że czegoś brakuje w inicjalizacji widoku?
Model:
var sticky = Backbone.Model.extend({
defaults: {
title:"",
content:"",
created: new Date()
},
initialize: function() {
console.log("sticky created!");
}
});
Widok:
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;
}
});
Tworzenie nowego modelu i nowe wystąpienie Widok:
var Sticky = new sticky({title:"test"});
var StickyView = new stickyView();
Ah teraz rozumiem, dzięki za dodatkową poradę też. – salmoally