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

朱利安·莫罗

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

我有一个界面:

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();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章