2012-04-21 72 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无法正常工作?有人可以解释这个吗?