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