据基干js网站:
Backbone唯一的硬依赖是Underscore.js(〉1.3.1)。对于RESTful持久化,通过Backbone提供历史支持。路由器和DOM操作使用Backbone.View,包括json2.js,以及jQuery(1.4.2)或Zepto。
我用下面的代码进行了测试,删除jQuery和Backbone视图会抛出一个错误。
<html>
<head>
<title>asda</title>
<!--<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>-->
<script src="http://documentcloud.github.com/underscore/underscore.js"></script>
<script src="http://documentcloud.github.com/backbone/backbone.js"></script>
<script type="text/javascript" charset="utf-8" async defer>
SearchView = Backbone.View.extend({
initialize: function(){
alert("Alerts suck.");
}
});
// The initialize function is always called when instantiating a Backbone View.
// Consider it the constructor of the class.
var search_view = new SearchView;
</script>
</head>
<body>
</body>
</html>
如果没有jQuery,Backbone.View和Backbone.Router如何工作?
4条答案
按热度按时间zzoitvuj1#
虽然Backbone.View依赖于DOM操作库,也就是说,你不能使用没有组织成某种库的vanilla javascript,但是你可以配置Backbone来使用你喜欢的任何库。
请参见以下来自 Backbone.js 源的内容:
调用此方法将允许您使用所需的任何库。
例如:
vvppvyoh2#
您可以在没有jQuery的情况下使用
Backbone.Model
,但是Backbone.View
将需要jQuery或Zepto,就像docs状态一样。wvt8vs2t3#
尝试使用jBone,这是在现代浏览器中用于DOM操作的库,jBone专门为Backbone开发,只有2kb的gzip和jQuery类API。
gzjq41n44#
Backbone现在甚至更容易与jQuery分离。
看看这个:
Using Backbone without jQuery