首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Backbone.js未呈现

Backbone.js未呈现
EN

Stack Overflow用户
提问于 2012-05-16 12:25:24
回答 1查看 1.4K关注 0票数 1

由于某种原因,我的收藏不能被渲染。找不到原因。

代码语言:javascript
复制
TreeItem = Backbone.Model.extend({

});

TreeList = Backbone.Collection.extend({
  model: TreeItem,
  url: "/get_tree_list"
});

window.tree_list = new TreeList();

// VIEW

window.TreeItemView = Backbone.View.extend({
  tagName: 'li',
  initialize: function(){
    _.bindAll(this, 'render');
  },
  render: function(){
    $(this.el).html('<span>'+this.model.get('title')+'</span>');
    return this;
  }
});

window.TreeListView = Backbone.View.extend({
  el: "#tree-structure",
  events: {

  },
  initialize: function() {
    _.bindAll(this, 'appendItem', 'render');
    tree_list.bind('add', this.appendItem);
    tree_list.fetch();
    this.render();
  },
  render: function() {
    tree_list.each(this.appendItem);
    return this;
  },
  appendItem: function(item){
    var tree_item_view = new TreeItemView({
      model: item
    });
    $(this.el).append(tree_item_view.render().el);

  }
});

var tree_list_view = new TreeListView;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-16 13:03:46

Backbone.js提供了很多可以解释的东西,这就是新人会犯错误的地方。你的错误本质上是根本性的。您可以将视图直接绑定到模型

  • 请参见呈现集合实例的初始化函数!!

  • 总是随时随地创建模型,然后将集合作为参数传递给视图的构造函数。检查我的小提琴

  • 从不在模型、视图或集合内部调用render。它们必须位于应用程序文件

JsFiddle

http://jsfiddle.net/35QGM/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10611977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档