良い一日、
データアクセスを管理するオブジェクトを作成しました。私のアプリはいくつかの異なるデータストアを使用するため、プロバイダーを切り替えるための簡単なファクトリを作成しました。
var dataProvider = {
company: {
getAllCompanies: function (callback) {
var impl = factory.createProvider(implInstance.current)
impl.company.getAllCompanies(callback);
}
}
projects: {
getAllProjects: function (callback) {
var impl = factory.createProvider(implInstance.current)
impl.projects.getAllProjects(callback);
}
}
}
それはすべてうまくいっていますが、dataProviderレベルでimpl変数を使用したいと思います。ネストが非常に深い場合、「これ」では適切なスコープが提供されないため、適切にアクセスする方法がわかりません。次のようなものが欲しいのですが。
var dataProvider = {
impl: function () { return factory.createProvider(implInstance.current) },
company: {
getAllCompanies: function (callback) {
//THIS WON'T WORK
this.impl.company.getAllCompanies(callback);
}
}
ありがとう!