Los cambios realizados en una vista de componente no se reflejan en otra vista de componente en angular 4
Aquí estoy cambiando algunos datos en un componente, por ejemplo: cambiar la imagen de perfil de usuario de un módulo y la misma imagen de perfil debe reflejarse en otro componente de otro módulo. Estos no son componentes padre / hijo. Por lo tanto, estoy importando el módulo y el componente particular. llamando a una función del componente que asigna el valor de alcance de la imagen de perfil. Esa función se activa y la url cambiada aparece en la consola, si imprimo eso en la consola. Pero no se refleja en la vista. Lo intenté conChangeDetectorRef
ythis.ref.detectChanges();
Pero está dando error como
core.es5.js:1020 ERROR Error: Uncaught (in promise): Error: No provider for ChangeDetectorRef!
Error: No provider for ChangeDetectorRef!
y también probé con Zone.run ().
Pero no funcionó para mí. ¿Alguien podría ayudarme?
constructor(private appHeaderComponent: AppHeaderComponent) { }
//component 1 sending data
uploadProfilePicture = (event) => {
if (this.profileFormData) {
this.headerService.savePhoto(this.profileFormData, 'profile-pictures').then((saveProfilePhotoData) => {
if (saveProfilePhotoData['status_code'] === 200) {
this.appHeaderComponent.getUserImage(saveProfilePhotoData['result']['pictures'][0]['imageUrl']);
}
});
}
}
//component 2 Receiving data
getUserImage = (image) => {
if (image) {
this.userImage = image;
} else {
this.userImage = sessionStorage.profilePicture;
}
}