从订阅的对象打印单个值 Angular 7

Print single value from object on subscribe Angular 7

我是 angular 7 的新人 我需要在订阅 api.

读取的属性中打印值

所以我的初始化:

  ngOnInit() {
    this.loadingVisible = false;
    this.getLogin().subscribe((result: User) => {
        console.log(result);
      }
    );
  }

我的回复 API Google Chrome 控制台:

{usrId: 1, usrUsername: "test", usrPassword: "test", usrEnable: true, usrLastLogin: null, …} usrEnable: true usrId: 1 usrLastLogin: null usrLevel: 1 usrPassword: "test" usrUsername: "test" proto: Object

所以我需要这样打印:

this.getLogin().subscribe((result: User) => {
     console.log(result); //works, i see the data
     this.myUserReturn = result;
     console.log(result.UsrUsername); // undefined
     console.log(this.myUserReturn.UsrUsername); // undefined
     // why is all undefined !?
   }
);

我需要了解如何通过 API 设置我的对象。 谢谢

您已将其全部设置为订阅,但如前所述,请注意大写字母的注释,因为这将尝试访问不存在的值。下面的代码应该可以工作。

this.getLogin().subscribe((result: User) => {
     console.log(result); //works, i see the data
     this.myUserReturn = result;
     console.log(result.usrUsername); 
     console.log(this.myUserReturn.usrUsername); 
   }
);

你在这里使用了一个类型

((result: User) => {

您的 IDE 应该抱怨这些值在类型中不存在,请确保您没有将输入错误泄漏到此处。

你可以使用类似的东西。

interface IUser {
usrUsername: string;
//rest of your values here typed case sensitive
}

然后将类型更改为以下,这样当出现区分大小写的问题或拼写错误时,您应该始终得到通知。警告 IUser 上不存在类似类型 'UsrUsername' 的内容。

((result: IUser) => {