javascript - 深度嵌套的backbone.js对象会导致错误吗?

标签 javascript backbone.js

我正在使用以下命名空间方案开发一个项目:

var abc = {};
abc.models = {};
abc.views = {};

abc.models.Collection = Backbone.Collection.extend({});

当我试图创建新集合时,我收到以下错误

var collection = new abc.models.Collection({this:"that"});
TypeError: Object #<Object> has no method '_reset'

当我将构造函数移动到 abc.Collection 时,错误停止了,一切都开始按需要工作。

有人可以帮我理解这是为什么吗?

我还应该补充一点,这是多文件应用程序的一部分,其中每个文件都包含以下内容:

(function($, abc){

//module contents here

}(jQuery, abc));

最佳答案

这有效:

var abc = {};
abc.models = {};
abc.views = {};
abc.models.Collection = Backbone.Collection.extend({});
var collection = new abc.models.Collection([], {});

而此行程为 Uncaught TypeError: Object #<Object> has no method '_reset' :

var abc = {};
abc.models = {};
abc.views = {};
abc.models.Collection = Backbone.Collection.extend({});
var collection = abc.models.Collection([], {});

区别在于不使用 new 调用构造函数.

关于javascript - 深度嵌套的backbone.js对象会导致错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12057017/

相关文章:

javascript - 在 Marionette 中使用变量作为区域名称

javascript - 尚未使用 RequireJS 文本插件加载上下文的模块名称

javascript - Backbone : collection adds random model to itself

javascript - 根据 div 位置向上滚动滑动动画

javascript - 使用 jQuery/HTML5 制作圆圈动画

javascript - 选择 Angular Material 中的所有复选框功能

javascript - AsyncStorage不保存更改状态 - React Native

javascript - 如何在 plunker 中维护我的下划线模板设置?

javascript - 无法使用 Backbone.history.start() 和 QUnit 调用未定义错误的方法 'start'

Javascript尾递归而不是循环