如何通过Backbone模型将JSON数据传递给视图?
我的模型看起来像这样:
define([
"jquery",
"backbone"
],
function($, Backbone) {
var Model = Backbone.Model.extend({
url: "./bands.php",
defaults: {
"id": '',
"band": '',
"label": ''
}
});
return Model;
});
我的查看代码如下:
define(['backbone','handlebars', 'text!templates/bandpage.html'],
function(Backbone,Handlebars, Template) {
'use strict';
var BandpageView = Backbone.View.extend({
template: Handlebars.compile(Template),
initialize: function () {
},
render: function() {
this.$el.html(this.template(this.model.toJSON()));
return this;
}
});
return BandpageView;
}
);
在我的HTML模板中我有
<div>
<p><%= id %></p>
<p><%= band %></p>
<p><%= label %></p>
</div>
它没有显示任何内容,我收到错误“无法调用方法'toJSON'未定义”
我做错了什么?
答案 0 :(得分:0)
试试这个:
将视图initialize
更新为:
initialize: function () {
this.listenTo(this.model, "change", this.render);
},
创建视图实例:
var view = new BandpageView({model: new Model()});