美好的一天,訪問嵌套函數內的javascript對象屬性
我已經創建了一個對象來管理數據訪問。我的應用程序將使用幾個不同的數據存儲,所以我創建了一個簡單的工廠,供應商之間進行切換:
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);
}
}
}
也就是說一切都很好,但我寧願在數據提供程序級別我IMPL變量。我不確定我會如何正確訪問它,因爲當我嵌入這麼深的時候,'這'並不能給我提供合適的範圍。我想要類似以下內容:
var dataProvider = {
impl: function() { return factory.createProvider(implInstance.current) },
company: {
getAllCompanies: function (callback) {
//THIS WON'T WORK
this.impl.company.getAllCompanies(callback);
}
}
謝謝!
嘗試'this.impl()company.getAllCompanies(回調);'爲'impl'似乎是一個'function' 。或者甚至; 'impl:function(){return factory.createProvider(implInstance.current)}()'啓用'this.impl.company.getAllCompanies(callback);', – Stefan