2012-04-21 73 views
0

我學習Backbone.js的,並且已經有問題。無法初始化Backbone.js的查看

我加載我的劇本與LABjs這樣的:

$LAB.setOptions({BasePath : path}) 
.script('libs/underscore.js?v=1.3.3') 
.script('libs/backbone.js?v=0.9.2') 
.script('libs/jquery.js?v=1.7') 
.script('libs/bootstrap.min.js?v=2.0.2').wait() 
.script('test.js'); 

在我test.js我有這個(從backbonetutorials.com):

(function($){ 
SearchView = Backbone.View.extend({ 
    initialize: function(){ 
     alert("Alerts suck."); 
    } 
}); 

var search_view = new SearchView; 
})(jQuery); 

正如你看到的,這將給我有一個警告文字「Alerst吸」。 相反,它會在我的螢火蟲控制檯上拋出一個錯誤 - i is not a function(34行backbone.js)。

如果我嘗試初始化像這樣的視圖var search_view = new SearchView({el: $('#some_dom_element')});它給了我另一個錯誤 - invalid 'instanceof' operand i(backbone.js文件的34行)。

jQuery對象$定義。 我可以初始化Backbone.js模型沒有任何問題。只是看到拋出這些錯誤。我錯過了什麼?

回答

5

似乎在腳本加載重要的順序。我已經加載jQuery現在開始工作。我還用非縮小版的backbone.js測試了它,並且該錯誤更爲詳細,爲$ is not a function。再次 - 在backbone.js修復它之前加載jQuery。

編輯:當Backbone.js的後裝的jQuery時,我認爲在初始化之前做的權利是console.log($)塔顯示$是功能。爲什麼backbone.js無法正常工作?有人可以解釋這個嗎?