在Backbone Js中出现错误“对象不支持属性或方法'

时间:2014-07-22 17:04:31

标签: javascript jquery backbone.js runtime-error single-page-application

我开始学习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文件中。 :(

请帮我解决此错误。

1 个答案:

答案 0 :(得分:2)

您使用的是非常旧的underscore版本 - 1.1.6(当前版本为1.6.0)。 Backbone使用此库,_.has方法在1.3.1的下划线中引入,1.1.6中不存在。我想,这引起了错误。只需使用最新的underscore,错误就会消失。

UPDATE 此外,最好使用最新的jQuery