我开始学习Backbone Js并且正在尝试为链接http://arturadib.com/hello-backbonejs/docs/1.html上给出的基本HelloWorld示例编写代码,但仍然遇到Backbone Js文件中显示的错误。
我的代码是,
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>hello-backbonejs</title>
</head>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.cdnjs.com/ajax/libs/json2/20110223/json2.js" type="text/javascript"></script>
<script src="http://ajax.cdnjs.com/ajax/libs/underscore.js/1.1.6/underscore-min.js" type="text/javascript"></script>
<!--<script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.0/backbone-min.js" type="text/javascript"></script>-->
<script src="backbone.js" type="text/javascript"></script>
<script src="practise.js" type="text/javascript"></script>
</body>
</html>
Javascript - Practise.js
(function ($) {
var ListView = Backbone.View.extend({
el: $('body'),
initialize: function () {
_.bindAll(this, 'render');
this.render();
},
render: function () {
$(this.$el).append("<ul> <li>hello world</li> </ul>");
}
});
var listView = new ListView();
})(jQuery);
在线上获取错误&#34; if(protoProps&amp;&amp; _.has(protoProps,&#39; constructor&#39;)){&#34;在backbone.js文件中。 :(
请帮我解决此错误。
答案 0 :(得分:2)
您使用的是非常旧的underscore
版本 - 1.1.6
(当前版本为1.6.0
)。 Backbone使用此库,_.has
方法在1.3.1
的下划线中引入,1.1.6
中不存在。我想,这引起了错误。只需使用最新的underscore
,错误就会消失。
UPDATE 此外,最好使用最新的jQuery