我有以下模块和子模块:
// Parent module "API"
var API = function(){
console.log('loading API');
this.param = 12345;
}
// A method for instantiating the City module via the API
API.prototype.City = function(){
return City(this); // <--- Can't pass this here?
}
// Submodule "City"
var City = function(api){
console.log("loading City");
console.log(api); // <--- Just prints empty object {}
}
var api = new API();
console.log(api);
var denver = new api.City();
我希望能够通过api
实例化City
来传递this
对象。但它只是传递一个空物体。
最终输出:
loading API
{ config: 12345 }
loading City
{}
在实例化时,是否无法将父模块传递给子模块?
答案 0 :(得分:1)
我想你想要
API.prototype.City = function(){
return new City(this);
// ^^^
}
和
…
var denver = api.City();
// ^^^^^^^ standard *method* call