在构造函数中努力访问@ViewChild后,我发现了一个我不明白的观察结果。它在我的应用程序中产生了非常重要的后果。
简化了app.component.ts代码以证明这一点:
export class MyApp {
myProp: string;
constructor() {
console.log( this ); //line A
console.log( this.myProp ); //line B
this.myProp = 'my string'; //line C
}
问题是:为什么 A行输出整个app对象,myProp设置为' my string' ,而 B行将myProp显示为 undefined ?
在A'这个'应该将myProp定义为未定义,因为它仅在行C中设置。
这完全违反了代码顺序..
答案 0 :(得分:0)
这是订单:
constructor() {
console.log( this ); //line A
this.myProp = 'my string'; //line C
} console.log( this.myProp ); //line B