Я создал службу настроек приложения для моего локального хранилища угловых приложений. Я хочу создать, проверить, получить и установить все настройки локального хранилища верхнего уровня отсюда.
Пока это работает так, как ожидалось, но теперь я хочу, чтобы обнаружение изменений в службе прослушивало изменения в объектах конфигурации настроек, которые существуют в службе.
В основном я хочу использовать onChanges в службе.
Например:
Служба настройки:
constructor() {
this.set_AppSettings();
}
public app_Settings: AppSettingsConfig = {
appConfig: {
showSideBar: null,
collapsedSideBar: null,
lastRoute: null,
showAppIDBar: null,
isDarkTheme: null
}
};
// Methods that handle localstorage stuff.
AppComponent.ts:
constructor(
public _settings: SettingsService
) {}
toggle() {
_settings.app_Settings.appConfig.showSideBar = !_settings.app_Settings.appConfig.showSideBar
}
AppComponent.html:
<button mat-flat-button (click)="toggle()"
Toggle Side Bar
</button>
Я хочу обнаружить, что это значение изменилось в моей службе настроек, а затем запустить соответствующий метод, чтобы установить новое значение в локальное хранилище.
Я не хочу вызывать метод, который устанавливает новое значение локального хранилища из моей службы, каждый раз, когда я изменяю переменную в компоненте. Я чувствую, что это было бы ненужным, если бы я мог просто слушать изменения в службе.
Это достижимо или я должен изменить свой подход?