在sub.component中调用函数之前,先调用app.component构造函数

时间:2019-01-13 10:15:30

标签: angular

我在app.component.ts的{​​{1}}中获取设置:

constructor

现在,我想基于构造函数中子组件中的获取设置加载代码。首先,我调用该服务,该服务调用export class AppComponent { title = 'App works!'; constructor(private settings:SettingsService){ this.settings.fetch().then(()=>{ console.log('settings loaded'); }); } }

settingsService

this.floorPlanLayoutConfig = this.tablePlanService.getFloorPlanLayoutConfig();中:

tablePlanService

我的getFloorPlanLayoutConfig () { let config = this.settingsService.get(); };如下:

settingsService

我总是收到错误消息“设置必须加载get”。因此响应缓冲区为let responseBuffer = null; @Injectable() export class SettingsService { constructor(private http:Http) { } fetch(force:Boolean = false){ return new Promise((resolve:any, reject: any) => { if( responseBuffer === null || force ){ this.http.get(`/api/settings`) .subscribe( res => { responseBuffer = res.json(); resolve( responseBuffer ); }, reject ); }else{ //use buffered resolve(responseBuffer); } }); } /** * for async calls, must be loaded */ get(){ if( responseBuffer === null) throw "settings must be loaded with get"; return responseBuffer; }

如何在null函数之后在get()中调用settingService函数,在应用程序组件中调用该函数,以使响应缓冲区不是fetch()

(此代码是由其他人编写的。我只想实现其他功能)

感谢您的帮助!

0 个答案:

没有答案
相关问题