2017-08-09 1 views
0

J'essaie d'accéder au localStorage à l'aide angulaire 4 et chercher les changements dans les valeurs de localStorage en utilisant les Observables:Comment rechercher des changements dans localStorage dans Angular 4?

Voici le code, je travaille sur:

userNameObservable: Observable<string>; 
userName: String = ''; 
ngOnInit() { 
    this.userNameObservable = Observable.create(
     Observable.of(localStorage.getItem('profileName')) 
    ); 
    this.userNameObservable.subscribe((name: String) => { 
     this.userName = name; 
    }) 
} 

mais je reçois une erreur ERROR TypeError: this._subscribe is not a function. Comment résoudre ça? Existe-t-il un moyen plus efficace de rechercher des changements dans localStorage?

+0

Vous pouvez https://stackoverflow.com/a/4689033/5562006 –

+0

@ArsenKarapetjan écouter écouteur d'événement sur « stockage » Répondez à l'événement de stockage se déclenche qu'une seule fois et ne parvient pas à détecter les changements plus tard – starlight

Répondre

0

vous pouvez utiliser des getters TypeScript pour réaliser ceci.

get userName() { 
    return localStorage.getItem('profileName'); 
} 
+0

Cela semble fonctionner, mais n'est pas capable de détecter si des modifications sont apportées aux valeurs localStorage – starlight

+0

si vous modifiez les valeurs localStorage manuellement, bien sûr, il ne détecte pas les modifications, mais les modifications sur le stockage local doivent être effectuées par programme dans ce cas, il va le détecter. –