我使用的是角度4,我有两个组件navbar.component和profile.component。我可以从profile.component上传个人资料图像,并在导航栏中显示个人资料图像。但是当我在profile.component中上传图像时,该图像将不会更新,因此我应该刷新页面。如何在不刷新页面的情况下更新它?
这是profile.component:
user['profile_pic'] = this.new_profile_pic_name;
}
this.authService.updateProfile(user).subscribe(data => {
if (!data.success) {
consolle.log('err')
} else {
console.log('success')
}
});
这是navbar.component:
ngOnInit()
{
this.authService.userProfile().subscribe(user => {
if (!user.success) {
console.log('err')
} else {
this.user_id = user.user.rows[0].id;
if (user.user.rows[0].profile_pic) {
this.profile_pic = this.profile_pic_dir +
user.user.rows[0].profile_pic;
}
}
});
}
和导航栏html:
<button [md-menu-trigger-for]="user" md-icon-button class="ml-xs">
<img [src]="profile_pic" class="img" *ngIf="profile_pic">
<img src="assets/images/profile/no-pic.jpg" class="img"
*ngIf="!profile_pic">
</button>