BackboneJS - 显示JSON数据

时间:2014-01-08 11:10:58

标签: javascript json backbone.js

如何通过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'未定义”

我做错了什么?

1 个答案:

答案 0 :(得分:0)

试试这个:

将视图initialize更新为:

initialize: function () {
  this.listenTo(this.model, "change", this.render);
},

创建视图实例:

var view = new BandpageView({model: new Model()});
相关问题