As alterações feitas em uma vista de componente não refletem em outra vista de componente na angular 4
Aqui, estou alterando alguns dados em um componente, por exemplo: alterar a imagem do perfil do usuário de um módulo e a mesma imagem do perfil deve ser refletida em outro componente de outro módulo. Estes não são componentes pai / filho. Portanto, estou importando o módulo e o componente específico. chamando uma função do componente que atribui o valor do escopo da imagem do perfil. Essa função é acionada e o URL alterado é exibido no console, se eu imprimi-lo no console. Mas não refletindo no modo de exibição. Eu tentei comChangeDetectorRef
ethis.ref.detectChanges();
Mas está dando erro como
core.es5.js:1020 ERROR Error: Uncaught (in promise): Error: No provider for ChangeDetectorRef!
Error: No provider for ChangeDetectorRef!
e também tentei com o Zone.run ().
Mas não funcionou para mim. Alguém poderia por favor ajudar.
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;
}
}