Angular2 - .subscribe()返回undefined(有时)

时间:2016-12-09 22:44:14

标签: angular

我通过Angular 2找到了自己的方式,但是我在console.log.subscribe调用ngOnInit()时遇到的结果有点麻烦{1}}。 (事先道歉 - 我对Angular几乎没有任何经验,我正试图跳到其他人的项目中间 - 请原谅我,如果我没有正确解释这一点)

简而言之,如果我console.log(this),我会得到一个members属性为数组的对象 - 但是,如果我console.log(this.members),我会得到undefined

group-form.component.ts,我致电

ngOnInit() {
     this.memberService.getMembers().subscribe(
         members => this.members = members.map(x => new Member(x))
         error => this.errorMessage = <any>error
         () => console.log(this))
};

而且,令人高兴的是,这个记录

GroupFormComponent
    model: Group
    members: Array[5]
    memberService: MemberService
    submitData: EventEmitter
    submitted: false
    __proto__: Object

但是,如果我将其更改为如此记录this.members

ngOnInit() {
     this.memberService.getMembers().subscribe(
         members => this.members = members.map(x => new Member(x))
         error => this.errorMessage = <any>error
         () => console.log(this.members))
};

记录undefined

我不确定我理解为什么会发生这种情况,因为log被调用在事件链的同一个地方。为什么.members在被视为对象的一部分时会有内容,但在单独查看时会undefined

我怎样才能设置并记录正确的值?

0 个答案:

没有答案