0

我正在学习backbone.js,并编写了一些非常简单的代码。

执行以下行时出现错误:

var myView = new View();

这是 Firebug 中的错误:

TypeError: i is not a function  

当我注释掉该行时,没有错误(当然......也没有视图对象)。

这是代码:

<body>
<script type="text/javascript">

        var Model        = Backbone.Model.extend({});       
        var Collection   = Backbone.Collection.extend({});
        var View         = Backbone.View.extend({});

        var myModel      = new Model();
        var myCollection = new Collection();
        var myView       = new View();

</script>
</body>

我的问题是:

为什么myModelmyCollection可以正确实例化,而myView却没有?

谢谢你的帮助。

4

1 回答 1

1

您的 HTML 脚本引用中缺少 Underscore 或 jQuery。

Backbone 需要 Underscore.js,并且应该与 jQuery 或 Zepto 一起用于 DOM 操作。特别是对于视图实例化,您需要 jQuery 或 Zepto。

您的 HTML 文件应以正确的顺序包含这些文件:

<script src="/path/to/jquery.js"></script>
<script src="/path/to/underscore.js"></script>
<script src="/path/to/backbone.js"></script>
于 2012-07-19T21:01:19.383 回答