我正在尝试从订阅的项目中检索数据,但它不会更改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”,个人资料:“我是该网站的管理员!”,生日:未定义,...}
m有对象,但我无法将其解析为currentMemberDetail,并且它仍未定义。
我在构造函数中尝试了ngOnInit。
任何解决方案?非常感谢!
答案 0 :(得分:1)
致电时
_inotify.py
它在订阅之外。因为console.log(this.currentMemberDetail);
是异步的,所以上面的行在设置之前就会被记录
如果您将订阅更改为:
.getOne
你应该看到它已被设置。