繁体   English   中英

Backbone.js-错误加载脚本

[英]Backbone.js - error loading script

我的html标头中包含jquery.js,boneer.js,underscore.js(我可以从浏览器中看到这些文件)

 <script type='text/javascript'>
    (function($){
     var Student= Backbone.Model.extend({
          initialize: function(){
              console.log("studentis createrd");
          }
      });

        var students= Backbone.Collection.extend({
            model: Student
        });  

        console.log(students.models);
    })(jQuery);
</script>

我收到此错误消息 在此处输入图片说明

UPDATE :html标头

<script src="/static/js/jquery.js" type="text/javascript"> </script>
<script src="/static/js/backbone.js" type="text/javascript"></script>
 <script src="/static/js/underscore.js" type="text/javascript"></script>

首先,您需要确保Backbone已正确加载-

顺序应该是

   ---> jQuery
   ---> underscore
   ---> backbone

接下来需要创建集合新实例

创建模型或集合的实例之前,不能直接对其进行操作。

(function ($) {
    var Student = Backbone.Model.extend({  // Created a Student model
        initialize: function () {
            console.log("studentis createrd");
        }
    });

    var Students = Backbone.Collection.extend({  // Create a Students collection
        model: Student
    });

    var student = new Student(); // Create a instance of Student model

    var students = new Students(); // New instance of Students collection
    students.add(student);   // Add a model to the collection

    console.log(students.models);
})(jQuery);

检查小提琴

我认为您还需要将主干作为参数与jQuery一起传递给您的函数

 <script type='text/javascript'>
    (function($,Backbone){
     var Student= Backbone.Model.extend({
         initialize: function(){
            console.log("studentis createrd");
         }
      });

      var students= Backbone.Collection.extend({
         model: Student
      });  
     console.log(students.models);
      })(jQuery,Backbone);
</script>

根据我的评论:

您何时导入骨干文件?

Backbone依赖于下划线才能工作,因此您需要具有Jquery-> Underscore-> Backbone才能正确加载主干。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM