2013-08-26 76 views
0

我正在評估一個項目的骨幹,並有問題得到它輸出基於綁定到一個id可能的最簡單的視圖。下面的代碼,我敢肯定,我正在做一個總的小白錯誤:輸出最簡單的骨幹視圖不工作

<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

+0

您嘗試初始化視圖有前'#帶-wrapper'在DOM。 – pawel

回答

2

嘗試關閉右側標籤</body>移動之前你的代碼。看起來好像您在嘗試訪問尚未準備好的DOM時。

但更好的方法是創建單獨的文件,把所有的邏輯放在這裏,並在document.ready上執行它。

+0

啊,做了它,jQuery也工作。 Backbone有沒有慣用的方法? thx回答 – timpone

+0

Backbone沒有提供一個「慣用的方式」來做到這一點。準備就緒後,您只需使用DOM開始您的工作。 –

1

創建視圖的實例時DOM就緒,

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

thx,這也適用 – timpone