首页 > 解决方案 > Angular 2/4/5/6 如何获取对象属性

问题描述

我有一个 api 调用,但是我似乎在检索对象中的属性时遇到了问题。

step.component.ts

ngOnInit(){
    this.stepService.getSteps().subscribe(appconfig => {
        console.log(appconfig); //this returns me an object
        console.log(appconfig.isstepcontactdisabled); // this gives me undefined
    }
}

step.service.ts

  getSteps(): Observable<Step> {
    return this.http.get<Step>(appConfig.apiBasePath + "appconfig").pipe(
      catchError(this.handleError),
    );
  }

步骤.ts

export interface Step {
  appconfig: Appconfig;
}

export interface Appconfig {
  isstepcontactdisabled: boolean;
  isstepdevicebranddisabled: boolean;
  issteppaymentinfodisabled: boolean;
  isstepservicetypedisabled: boolean;
}

这是我的结果(step.component.ts 中的 console.log,我越来越不确定)

在此处输入图像描述

我尝试使用 appconfig.isstepcontactdisabled 和 appconfig["isstepcontactdisabled"] 获取该属性,但它仍然显示为未定义。有人可以启发我吗?感谢你的帮助!

标签: angulartypescriptobject

解决方案


您需要使用appconfig.appconfig.isstepcontactdisabled, 或appconfig['appconfig']['isstepcontactdisabled'].

该对象有点嵌套,因此您可能错过了该appconfig属性。

尝试运行console.log(appconfig.appconfig.isstepcontactdisabled)它!


推荐阅读