Я пытаюсь сохранить состояние между ссылками на страницу sh, но кажется, что информация о состоянии теряется. Я пытаюсь сохранить два логических значения и получить его. Я установил NGXS Dev для chrome, чтобы проверить состояние. Я вижу, что действие правильно отправляет информацию о состоянии, но теряет эту информацию, когда я нажимаю F5. Чего мне не хватает?
Действие
import { AgreementsStateModel } from '../models/agreements-state.model';
export class SetAgreementStatus {
static readonly type = '[AGREEMENT] SetAgreementStatus';
constructor(public payload: AgreementsStateModel) {}
}
Состояние
import { Action, Selector, State, StateContext } from '@ngxs/store';
import { AgreementsStateModel } from '../models/agreements-state.model';
import { SetAgreementStatus } from './agreement.actions';
@State<AgreementsStateModel>({
name: 'agreementModalState',
defaults: {
isDeferred: false,
isInteracted: false
}
})
export class AgreementState {
constructor() { }
@Selector()
static agreement(state: AgreementsStateModel) {
return state;
}
@Action(SetAgreementStatus)
setAgreementStatus({ patchState }: StateContext<AgreementsStateModel>, { payload }: SetAgreementStatus) {
patchState(payload);
}
}
Импорт AppModule
NgxsStoragePluginModule.forRoot()
Отправка состояния
this.store.dispatch(new SetAgreementStatus({isInteracted: true, isDeferred: true}));
Чтение информации о состоянии
@Select(AgreementState.agreement) agreementModalState$: Observable<AgreementsStateModel>;
this.agreementModalState$.subscribe(agreementModalStatus => {
this.agreementModalStatus = agreementModalStatus;
});