变量未定义的可观察打字稿



我在这里遇到了一个问题,我做了一些事情,但我想知道这是否是这样做的好方法......

我有一个界面:

export interface ContexteEnvironnement {
langue: string;
urlPing: string;
urlFinSession: string;
urlTimeout: string;
urlRetour: string;
urlBaseEpv: string;
}

我有一项服务:

contexteEnvironnement: ContexteEnvironnement;
getDataInitialisation(): Observable<ContexteEnvironnement> {
return this.http.get<ContexteEnvironnement>(configUrl, headerGET);
}

我有我的应用程序组件,我想在其中获取数据:

ngOnInit() {
this.initialiserProprietes();
}
initialiserProprietes(): void {
this._serviceConfigInitiale.getDataInitialisation().subscribe(data => {
this._serviceConfigInitiale.dataInitialisation = data;
this._langueService.setLangueCourante(data.contexteEnvironnement.langue);
});
}

我有一个错误说:

错误

类型错误:无法读取未定义的属性"urlBaseEpv">

所以我决定在我的服务中初始化我的变量:

contexteEnvironnement: ContexteEnvironnement = {
langue: '',
urlPing: '',
urlFinSession: '',
urlTimeout: '',
urlRetour: '',
urlBaseEpv: ''
};

一切都正常。有没有更好的方法可以做到这一点?

非常感谢您的建议!

使用这样的类:

export class ContexteEnvironnement {
langue = '';
urlPing = '';
urlFinSession = '';
urlTimeout = '';
urlRetour = '';
urlBaseEpv = '';
}

然后将其写入您的服务或其他任何地方:

contexteEnvironnement = new ContexteEnvironnement();

最新更新