输出最简单的Backbone视图不起作用

时间:2013-08-26 18:19:43

标签: javascript backbone.js

我正在为一个项目评估Backbone,并且在根据绑定到id输出最简单的视图时遇到问题。这是代码,我确定我犯了一个总的noob错误:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src='underscore.js'></script>   
<script src='backbone.js'></script> 
<script>

var BandView=Backbone.View.extend({
  el:$('#bands-wrapper'),
  initialize: function(){
    _.bindAll(this,'render');
    console.log('you initialized');
    this.render();
  },
  render:function(){
    console.log('you are about to render');
    this.$el.text('here i am');
    return this;    
  } 
});
var myView=new BandView();
</script>

<body>
before
<div id='bands-wrapper'>
after

我没有收到错误,两条错误消息都写入控制台。知道我做错了什么吗?

THX

2 个答案:

答案 0 :(得分:2)

尝试在关闭</body>代码之前移动代码。好像你正在尝试在尚未准备好时访问DOM。

但更好的方法是创建单独的文件,将所有逻辑放在此处并在document.ready上执行。

答案 1 :(得分:1)

在DOM准备就绪时创建视图实例,

$(function(){ var myView=new BandView(); });