Я решил, что основная проблема заключалась в том, что «userInfo» не был распознан как одиночный, из-за версии angular (5), я не могу использовать параметр providein:root
в инъекционном сервисе, так что эточто я сделал:
-добавил провайдера службы в app.module и удалил из компонента
-использую Behaviorsubject rxjs как внутри service :
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
public UserInfo = new BehaviorSubject<any>({
_id : null,
username : null,
email : null,
data : null,
brand : null,
fiscalcode : null
});
user = this.UserInfo.asObservable();
populateBaseUserInfo(user : any){
this.UserInfo.next(user)
console.log(JSON.stringify(this.UserInfo));
};
здесь компонент кода, где я вызываю "populateBaseUserinfo"
this.UtentiService.populateBaseUserInfo( this.risposta );
и здесь другой компонент, где я вызываю информацию, обновленную в пределах наблюдаемой:
this.UtentiService.user.subscribe(user =>{
this.localUser = user;
})