【发布时间】:2012-05-11 08:20:16
【问题描述】:
我正在使用 Backbone 和 Requirejs 构建单页应用程序。
现在我一直在从我的模块文件中返回一个新实例,以:
return new moduleName;
这工作正常,直到我不得不将参数传递给集合的初始化方法。由于在创建实例时会调用初始化,因此我将“new”从 return 语句中删除。
return mymoduleName;
并在我的路由器中使用参数实例化集合:
myCollection = new library({paramname: "value"});
这确实创建了一个“库”的实例——一个在我的路由器的定义块中引入的集合,但是我如何将它传递给负责渲染它的视图?
我的视图类在它的定义块中具有相同的依赖关系,在它的初始化中我将它绑定到集合的重置:
this.collection = library;
_.bindAll(this, 'render');
this.collection.bind('reset', this.render);
这在从集合类中删除“新”之前有效(回顾起来根本没有意义!)但是现在视图永远不会被渲染,因为它是在路由器中实例化的 - 我如何将同一个实例传递给风景?
【问题讨论】:
标签: backbone.js requirejs