把json数据放到视图中

Backbone.js - getting json data into view

本文关键字:视图 json 数据      更新时间:2023-09-26
User = Backbone.Model.extend({
  urlRoot: "users",
  initialize: function(){
    this.fetch();
  }
});
  var HomeView = Backbone.View.extend({
    el: '#container',
    template: _.template($("#home-template").html(), this.model),
    render: function() {
      $(this.el).html(this.template);
      return this;
    }
  });
  var App = Backbone.Router.extend({
      routes: {
          '/home':       'home',
      },
      home: function() {
        var user = new User({id: 1});
        homeView = new HomeView({
          model: user
        });
        this.homeView.render();
      }
    });

由于某种原因,我无法将模型数据注入到HomeView的模板中。我看到ajax请求被发送,数据回来是正确的。当调用视图时,我把静态数据放在同一个地方,它工作得很好。

有什么建议吗?

我认为这是因为你在错误的时间执行你的模板。应该在调用render时执行,如下所示:

var HomeView = Backbone.View.extend({
  el: '#container',
  template: _.template($("#home-template").html()),
  render: function() {
    $(this.el).html(this.template(this.model.toJSON()));
    return this;
  }
});