ngrx простой государственный редуктор - PullRequest
0 голосов
/ 29 января 2020

Новый для angular и ngrx, следуя документам,

Я изменил пример basi c на следующий,

Действия

export const increment = createAction('[Counter Component] Increment');
export const decrement = createAction('[Counter Component] Decrement');
export const reset = createAction('[Counter Component] Reset');

Редуктор


export const initialState = {
  num: 0
};

const _counterReducer = createReducer(initialState,
  on(increment, state => ({ num: state.num + 1})),
  on(decrement, state => ({ num: state.num - 1})),
  on(reset, state => ({ num: 0 })),
);

Модуль

StoreModule.forRoot({ count: counterReducer })

Компонент

TS

count$: Observable<IState>;

constructor(private store: Store<{ count: IState }>) {
    this.count$ = store.pipe(select('count'));
}

HTML

<p> count$.num | async </p>

Модель. ts

export interface IState {
  num: number
}

Похоже, мне не хватает чего-то тривиального.

StackBlitz: https://stackblitz.com/edit/angular-72vhrz

1 Ответ

1 голос
/ 29 января 2020
<p> (count$| async).name </p>

Сначала вы должны использовать трубу async на обозримом уровне, это развернет его значение и вы сможете получить к нему доступ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...