秋田:检索persistState数据

时间:2019-07-25 15:59:36

标签: state-management localforage angular-akita akita

我将秋田用作Angular应用程序的状态管理。 状态数据以及通过localForage的IndexedDB中的数据存储都可以。 但是当我再次刷新应用程序并尝试从状态查询数据时,除了IndexedDB中的数据,没有其他数据正在检索。

package.json

{
"localforage": "^1.7.3",
"@datorama/akita": "^4.6.0"
}

代码:

//store.ts
@Injectable({ providedIn: 'root' })
@StoreConfig({ name: 'MyStore1' })
export class MyStore1 extends Store<MyStore1State> {
    constructor(private appConfig:AppConfig) {

        super(createInitialState(JSON.stringify(json)));
        localForage.config({
            driver: localForage.INDEXEDDB,
            name: 'Akita',
           storeName:'AppDataStore'
          });

        persistState({key:this.storeName,include:[this.storeName], storage: localForage });

    }
}

//query.ts
@Injectable({ providedIn: 'root' })
export class StoreQuery extends Query<StateModel> {
  constructor(protected store: MyStore1) {
    super(store);
  }

  getStateKey(key) {
    return this.getValue()[key];
  }
}

//component.ts
    constructor(private storeQuery: StoreQuery) { }

    isStateObjectExists(message: MessageModel) {

        switch (message.EntityType) {
            case "MyStore1":
                var data = this.storeQuery.getStateKey(message.UserID);//from here retriving null
                if (data != null) {
                    message.Payload = JSON.stringify(data);
                    return message;
                }
                break;
            default: break;
        }
        return false;
    }

请帮忙。

0 个答案:

没有答案