主干下划线版本错误

Backbone Underscore Version Error

本文关键字:错误 版本 下划线      更新时间:2023-09-26

我刚刚开始学习如何使用主干(和下划线)制作单视图应用程序。我阅读了一个教程,但是当我尝试复制主干应用程序的最基本版本并将其放在我的服务器上时,我遇到了错误。代码还可以,但过了一会儿,我发现我的骨干.js和下划线.js文件不能一起工作。所以我从他们的网站上下载了最新版本:仍然无法正常工作...我做错了什么?

谢谢你的回答。

这是我的代码:索引.html

<!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"></script>
    <script src="http://ajax.cdnjs.com/ajax/libs/json2/20110223/json2.js"></script>
    <script src="http://ajax.cdnjs.com/ajax/libs/underscore.js/1.1.6/underscore-min.js"></script>
    <script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.0/backbone-min.js"></script>
    <script src="js/1.js" type="text/javascript"></script>
  </body>
  </html>

和:JS/1.js

$(function() {
    var ListView = Backbone.View.extend({
        el: $('body'), // attaches `this.el` to an existing element.
        initialize: function(){
            _.bindAll(this, 'render'); // fixes loss of context for 'this' within methods
            this.render(); // not all views are self-rendering. This one is.
        },
        render: function(){
            $(this.el).append("<ul> <li>hello world</li> </ul>");
        }
    });
    var listView = new ListView();
});

JQuery 和 JSon2 工作正常。主干和下划线在这里分叉,但我也尝试了最新版本。

编辑:

我现在尝试了下面的两行和最新版本的 JQuery:

<script src="http://ajax.cdnjs.com/ajax/libs/underscore.js/1.7.0/underscore-min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.0/backbone-min.js"></script>
<script type="text/javascript" src="js/jquery-1.11.2.js"></script>

但我仍然收到此错误:

[Error] TypeError: undefined is not a valid argument for 'instanceof' (evaluating 't instanceof a.$')
    setElement (backbone-min.js, line 1)
    _ensureElement (backbone-min.js, line 1)
    View (backbone-min.js, line 1)
    r (backbone-min.js, line 1)
    (anonyme Funktion) (1.js, line 14)
    fire (jquery-1.11.2.js, line 3143)
    fireWith (jquery-1.11.2.js, line 3255)
    ready (jquery-1.11.2.js, line 3467)
    completed (jquery-1.11.2.js, line 3498)

解决:

谢谢大家。我刚刚在较新的 tut 中找到了一个组合,它工作正常:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://documentcloud.github.com/underscore/underscore-min.js"></script>
<script src="http://documentcloud.github.com/backbone/backbone-min.js"></script>
 <script src="http://ajax.cdnjs.com/ajax/libs/underscore.js/1.7.0/underscore-min.js"></script>
 <script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.0/backbone-min.js"></script>

只是您的下划线版本太旧,请使用版本 1.7.0。您正在使用的主干版本尝试使用仅在下划线版本 1.3.1 中引入的 _.has

相关文章: