backbone.js - Backbonejs : backbone is not defined error

标签 backbone.js

Google Chrome 开发者工具控制台抛出此错误:

uncaught reference error: backbone is not defined 

当这个包含带有库backbone.js的javascript的html文件时:
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Example Backbone APP</title>
  </head>
  <body>

    <script>
      Whisky = Backbone.Model.extend();
        firstWhisky = new Whisky({
        name : 'Blenders Pride'
      });
      Whiskies = Backbone.Collection.extend({
        Model:Whisky ,
        url:"#"
      });

      first_view = Backbone.View.extend({
        el : 'body',
        initialize : function() { 
          this.$el.empty();
          this.render();
        } , 

        render : function() { 
          this.$el.append("<h1>The Whisky APP</h1>");
          this.list_view = new List_view();
          this.$el.append(this.list_view.render().el);
          return this ; 
        }
      });
      List_view = Backbone.View.extend({ 
        tagName : 'ul' , 
        render : function() {
          this.$el.empty();
          this.$el.append("<li>Royal stag</li>");
          this.$el.append("<li>Signature </li> ");
          return this ; 
        }
      });
      index_view = new first_view();    
    </script>
    <script src="LIB/json2.js"></script> 
    <script src="LIB/underscore-min.js"></script>  
    <script src="http://code.jquery.com/jquery.js"></script>  
    <script src="http://backbonejs.org/backbone.js"></script> 
  </body>
</html>

这个错误的原因是什么?

最佳答案

在声明之前不能使用 Backbone。

<script>在您自己的 javascript 代码之前添加标签。

您必须像这样重新组织您的 javascript 部分:

<script src="LIB/json2.js"></script> 
<script src="LIB/underscore-min.js"></script>  
<script src="http://code.jquery.com/jquery.js"></script>  
<script src="http://backbonejs.org/backbone.js"></script> 
<script>
  Whisky = Backbone.Model.extend();
    firstWhisky = new Whisky({
    name : 'Blenders Pride'
  });
  Whiskies = Backbone.Collection.extend({
    Model:Whisky ,
    url:"#"
  });



  first_view = Backbone.View.extend({
    el : 'body',
    initialize : function() { 
      this.$el.empty();
      this.render();
    } , 

    render : function() { 
      this.$el.append("<h1>The Whisky APP</h1>");
      this.list_view = new List_view();
      this.$el.append(this.list_view.render().el);
      return this ; 
    }
  });
  List_view = Backbone.View.extend({ 
    tagName : 'ul' , 
    render : function() {
      this.$el.empty();
      this.$el.append("<li>Royal stag</li>");
      this.$el.append("<li>Signature </li> ");
      return this ; 
    }
  });
  index_view = new first_view();    
</script>

关于backbone.js - Backbonejs : backbone is not defined error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15681893/

相关文章:

非 SPA 的 JavaScript 架构

backbone.js - Backbone.Model.Initialize 中的属性和选项有什么区别

javascript - 更改 Backbone.model 中的属性

javascript - each() 函数未在 this.collection 上定义

node.js - 从多个集合填充菜单

ruby-on-rails - 在使用主干 rails 的实心仪表时从 highcharts 得到错误#17

javascript - 将点击事件绑定(bind)到 Backbone View 的顶级标签

backbone.js - 查看特定于 Backbone 集合的修改

javascript - Marionette Js 扩展底座 Controller

collections - Backbone.js - "Syncing"集合之间的模型