无法设置undefined的属性'user'

时间:2018-02-08 10:41:16

标签: typescript callback

我发现很难在回调函数中设置属性值。 这是组件类:

export class HomeComponent{
 user : any;
constructor(){
let userId = localStorage.getItem('id');
        console.log(userId);
        this.getUserDetailsById(userId,function(result){
            console.log(result);
            this.user = result;
        });
}



getUserDetailsById(id:any,callback){
        this.userService.getUserDetailsById(id).subscribe(user => {
            callback(user);
        })
    }
}

我正在尝试将user设置为返回getUserDetailsById()的值,并使用user对ui进行双向数据绑定。请帮忙。

1 个答案:

答案 0 :(得分:0)

您需要遵循ES6编码模式; 在this使用箭头函数

中无法访问getUserDetailsById()
constructor(){
let userId = localStorage.getItem('id');
        console.log(userId);
        this.getUserDetailsById(userId,(result) =>{
            console.log(result);
            this.user = result;
        });
}

更新你的构造函数。