web-dev-qa-db-ja.com

エラー:ストアのプロバイダーがありません! Angular 4.0で@ ngrx / storeを試すとき

問題:エラー:Storeのプロバイダーがありません!

Main.tsのストアモジュールをブートストラップしています。

platformBrowserDynamic().bootstrapModule(AppModule,[
  provideStore({
    characters, 
    vehicles
  })
]);

そしてvehicle.component.tsに注入します:

constructor(
    private _route: ActivatedRoute,
    private _router: Router,
    private _vehicleService: VehicleService,
    private _store: Store<any>
  ) {}

完全なソースコードはこちら: GitHub 、実行中の最新バージョン GitHub Pages

PS。 Storeをプロバイダーに追加すると、別のエラーが発生します:Storeのすべてのパラメーターを解決できません:(?、?、?)。

11
Anton Pegov

App.module.tsに以下を追加します。

import { Store, StoreModule } from '@ngrx/store';

@NgModule({
  imports: [
      StoreModule.provideStore({ characters, vehicles }),
  ...
7
FRECIA

このエラーが発生したのは、コンポーネントでStoreimport { Store } from '@ngrx/store/src/store' の代わりに import { Store } from '@ngrx/store'; 。とにかく、これはAngular 5

15
Alf Moh

完全を期すために、Angular 5/Ngrx 4.1.1で)(app.module.tsで):

import { StoreModule } from '@ngrx/store';
import { reducers } from './reducers/reducers';

@NgModule({
    imports: [     
        StoreModule.forRoot(reducers),
        ...
    ],
    ...

完全な例があります here

3
Manuel Manhart