【发布时间】:2017-09-02 20:57:01
【问题描述】:
我正在从我的服务器获取一些数据,并希望在 .ts 文件中对其进行一些处理。到目前为止,这是我对 Typescript/angular 不了解的基本知识......希望有人可以在这里帮助我
user: any;
public doStuff(){
alert(this.user.username);
}
用户是具有不同属性的对象,例如在 ngOnInit() 块上初始化的“用户名”。 我在 ngOnInit 方法中设置它。服务注入正确,以下代码正常运行
ngOnInit() {
this.authService.getProfile().subscribe(profile =>{
this.user= profile.user;
this.initStuff();
},
err => {
console.log(err);
return false;
});
}
它会按预期提醒用户名...但是一旦我将 doStuff() 方法的方法调用移到该代码块之外,它就不再工作了,在浏览器控制台中显示“无法读取属性”未定义的值' - 为什么它是未定义的?如果我在 component.html 中使用 {{user.username}},它也会显示正确的用户名
ngOnInit() {
this.authService.getProfile().subscribe(profile =>{
this.user= profile.user;
},
err => {
console.log(err);
return false;
});
this.initStuff(); // why cant i call it here? Its where I also call all of my other doStuff() methods
}
【问题讨论】:
标签: javascript json angular typescript mean-stack