У вас может быть служба, которая позаботится об установке и получении значений в / из localStorage в установщиках и получателях свойств.
Как только шаблон будет привязан к свойствам, ваши соответствующие компоненты будут обновляться при обнаружении изменений.
Например, это ваша служба с одним свойством, которое вы хотите установить в localStorage.
import { Injectable } from '@angular/core';
@Injectable()
export class SetStorageService {
private _localItem: string = '';
constructor() { }
set localItem(value: string) {
this._localItem = value;
localStorage.setItem('localItem', value);
}
get localItem() {
return this._localItem = localStorage.getItem('localItem')
}
}
И ваши компоненты, такие как:
export class AppComponent {
name = 'Angular';
private _item: string = ""
constructor(private _storageService: SetStorageService) {}
set item(value) {
this._item = value;
this._storageService.localItem = value;
}
get item() {
return this._item = this._storageService.localItem;
}
addValue() {
this.item = "New Value"
}
}
Ваше мнение будетпривязан к свойству, которое в конечном итоге получает свои данные из localStorage (через службу).
<p>
Item in App component - <b>{{item}}</b>
</p>
См. пример здесь:
https://stackblitz.com/edit/angular-pgdz8e?file=src%2Fapp%2Fapp.component.ts