WIP:The Counter-Example stores an object as state
[examples/angular-tour-of-heroes] / src / app / vorgang / vorgang.component.ts
1 import { Component, OnInit } from '@angular/core';
2 import { Observable } from 'rxjs';
3 import { Store, select } from '@ngrx/store';
4 import { increment, decrement, reset } from '../actions/vorgang';
5 import { map } from 'rxjs/operators';
6 import { State } from '../reducers';
7
8 @Component({
9   selector: 'app-vorgang',
10   templateUrl: './vorgang.component.html',
11   styleUrls: ['./vorgang.component.css']
12 })
13 export class VorgangComponent implements OnInit {
14
15   vorgang$: Observable<number>;
16
17   constructor(private store: Store<{ vorgang: State }>) {
18     this.vorgang$ = store.pipe(select('vorgang'), map(vorgang => vorgang.counter));
19   }
20
21   ngOnInit(): void {
22   }
23
24   increment() {
25     this.store.dispatch(increment());
26   }
27
28   decrement() {
29     this.store.dispatch(decrement());
30   }
31
32   reset() {
33     this.store.dispatch(reset());
34   }
35 }