无法读取未定义的属性“用户”

时间:2017-06-13 10:51:08

标签: angular

我正在尝试从响应中读取数据并将其设置在我的HTML中。但是它给了我未定义的错误。任何人都可以帮助我在这里做错了。

以下是组件片段:

userProfile: any
constructor(private _userProfileService: UserProfileService ){}

ngOnInit(){
this._userProfileService.getProfileData()
.subscribe(data => {
    console.log("Response");
    console.log(data);
            this.userProfile = data;
            console.log(this.userProfile.user.firstname);
        });

}

HTML:

<h2>{{userProfile.user.firstname}} {{userProfile.user.lastname}}'s Profile <a href="#"><img src="assets/img/pen.png" alt="pen"></a></h2>

2 个答案:

答案 0 :(得分:3)

问题:

因为您尝试在视图可用之前显示数据。

试试这个:

#form_element>input {
    pointer-events: none;
}

答案 1 :(得分:2)

使用安全操作员

<div *ngIf='userProfile?.user'>
<h2>{{userProfile.user.firstname}} {{userProfile.user.lastname}}'s Profile <a href="#"><img src="assets/img/pen.png" alt="pen"></a></h2>
</div>