我们正在使用Angular,但有这些差异:
我们定义了一个名为app
的全局变量,我们希望以某种方式获取一些Angular的默认服务的实例,而不是将它们注入每个组件,我们希望重用该单个实例在整个申请过程中。
请不要就可测试性或类似事情提出建议。这种设计为我们创造了巨大的商业价值,我们在经济上享受工业方法。
然后我们定义了一个globalServices
服务,该服务仅用作触发Angular注入机制的占位符,因此我们可以将这些单例实例设置为ng.http.Http
。
var globalServices = (function () {
function globalServices(http) {
console.log('constructor of globalServices');
app.http = http;
}
globalServices = __decorate([
ng.core.Injectable(),
__metadata("design:paramtypes", [])
], globalServices);
globalServices.parameters = [ng.http.Http];
return globalServices;
}());
最后,我们在根模块的globalServices
部分中使用了此bootstrap
。
var RootModule = (function () {
function RootModule() {
}
RootModule = __decorate([
ng.core.NgModule({
declarations: [
RootModuleClientLayout
],
imports: [
ng.platformBrowser.BrowserModule
],
providers: [globalServices],
exports: [],
bootstrap: [RootModuleClientLayout]
})
], RootModule);
return RootModule;
}());
一切似乎都运转正常,我们没有错误。但是没有控制台日志,app.http
未定义。通过设置断点,我们意识到globalServices
的构造函数永远不会被调用。
这里有什么不妥?