无法从订阅中检索数据
Failing to retrieve data from subscribe
我正在尝试从订阅的项目中检索数据,但它不会更改 currentMemberDetail: Member 对象,它仍未定义。
public currentMemberDetail: Member;
constructor(public authService: AuthService,
public memberService: MemberService,
private route: ActivatedRoute,
private router: Router) {
this.memberService.getOne(this.authService.currentUser)
.subscribe(m => {this.currentMemberDetail = m; console.log(m)});
}
ngOnInit(): void {
this.memberService.getOne(this.authService.currentUser)
.subscribe(m => {this.currentMemberDetail = m; console.log(m)});
console.log(this.currentMemberDetail);
}
这是我从控制台日志中得到的
成员{_id:“5a44bdb416ff3e115c0d732a”,伪:"admin",密码:"admin",个人资料:"I'm the administrator of the site!",生日:未定义,...}
m 有对象,但我无法将其解析为 currentMemberDetail,它仍未定义。
我试过 ngOnInit 和构造函数内部。
有什么解决办法吗?非常感谢!
当你打电话时
console.log(this.currentMemberDetail);
不在订阅范围内。因为 .getOne
是异步的,上面的行在它被设置之前被记录下来
如果您将订阅更改为:
.subscribe(m => {this.currentMemberDetail = m; console.log(this.currentMemberDetail)});
您应该会看到它已设置。
我正在尝试从订阅的项目中检索数据,但它不会更改 currentMemberDetail: Member 对象,它仍未定义。
public currentMemberDetail: Member;
constructor(public authService: AuthService,
public memberService: MemberService,
private route: ActivatedRoute,
private router: Router) {
this.memberService.getOne(this.authService.currentUser)
.subscribe(m => {this.currentMemberDetail = m; console.log(m)});
}
ngOnInit(): void {
this.memberService.getOne(this.authService.currentUser)
.subscribe(m => {this.currentMemberDetail = m; console.log(m)});
console.log(this.currentMemberDetail);
}
这是我从控制台日志中得到的
成员{_id:“5a44bdb416ff3e115c0d732a”,伪:"admin",密码:"admin",个人资料:"I'm the administrator of the site!",生日:未定义,...}
m 有对象,但我无法将其解析为 currentMemberDetail,它仍未定义。
我试过 ngOnInit 和构造函数内部。
有什么解决办法吗?非常感谢!
当你打电话时
console.log(this.currentMemberDetail);
不在订阅范围内。因为 .getOne
是异步的,上面的行在它被设置之前被记录下来
如果您将订阅更改为:
.subscribe(m => {this.currentMemberDetail = m; console.log(this.currentMemberDetail)});
您应该会看到它已设置。