我有一个模型的构造函数(类似于 Backbone 模型),它使用传递给模型工厂的存储实例(例如 MongoDB / Redis)。现在在模型的构造函数中,我做
this.store = options.store;
一旦this.store
我用var model = new Model()
.
然后,当我的模型具有“公共”方法时,我遇到了一种情况,例如Model.find()
,无需实例化模型即可工作。但是现在因为没有被实例化,Model 内部的函数不能访问 store by this.store
。
我所做的是,我还开始向构造函数本身添加存储来Model.store = options.store
解决问题。但是现在 store 暴露给任何使用 Model 构造函数的东西,这是不可取的。
我猜我做错了什么。所以我会很感激一些帮助。