如何解决Uncaught TypeError:无法读取未定义的属性“原型”?

我有一个小问题。 我正在使用backbone.js。 我用例子编写了这个代码:

<script> $(document).ready(function () { window.App = { Views: {}, Models: {}, Collections: {} } App.Collections.Users = Backbone.Collection.extend({ model: App.Models.User, url: 'service' }); App.Models.User = Backbone.Model.extend({}); App.Views.App = Backbone.View.extend({ initialize: function() { console.log( this.collection.toJSON() ); } }); }); </script> 

比我开始的服务器,并在浏览器控制台input此:

 var x =new App.Collections.Users(); x.fetch() 

这跟错误: Uncaught TypeError: Cannot read property 'prototype' of undefined 。 但数据是作为回应。 图片中的细节。 如何解决这个问题? 谢谢你的答案。 在这里输入图像说明

在这里输入图像说明

我修复了这个错误。 问题是我创build了集合,然后是模型。 集合使用用户模型作为工作单元,但是当我定义这个集合时,我没有定义模型。

所以,如果你想避免这个bug,首先定义一个Model,然后定义Collection。

骨干Js依赖于underscore.js和jQuery,尝试重新sorting资源。 这对我工作:

 <head> <title>Backbone</title> <!-- Scripts Load Here--> <script type="text/javascript" src="js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="js/underscore.js"></script> <script type="text/javascript" src="js/backbone.js"></script> </head>