Problème: Erreur: aucun fournisseur pour Store!
Je démarre le module de magasin dans main.ts:
platformBrowserDynamic().bootstrapModule(AppModule,[
provideStore({
characters,
vehicles
})
]);
Et en injectant dans vehicle.component.ts:
constructor(
private _route: ActivatedRoute,
private _router: Router,
private _vehicleService: VehicleService,
private _store: Store<any>
) {}
Le code source complet est ici: GitHub , dernière version en cours d'exécution sur les pages GitHub
PS. L'ajout de Store aux fournisseurs entraîne une autre erreur: impossible de résoudre tous les paramètres de Store: (?,?,?).
Dans app.module.ts, ajoutez:
import { Store, StoreModule } from '@ngrx/store';
@NgModule({
imports: [
StoreModule.provideStore({ characters, vehicles }),
...
J'ai eu cette erreur parce que, dans mon composant, l'importation automatique importait Store
de import { Store } from '@ngrx/store/src/store'
au lieu de import { Store } from '@ngrx/store'
; . Quoi qu'il en soit, c'était en Angular 5
Par souci d'exhaustivité, avec Angular 5/Ngrx 4.1.1, ce serait (dans app.module.ts):
import { StoreModule } from '@ngrx/store';
import { reducers } from './reducers/reducers';
@NgModule({
imports: [
StoreModule.forRoot(reducers),
...
],
...
Il y a un exemple complet ici