我通过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
?
我怎样才能设置并记录正确的值?