14

问题: 错误:没有商店的提供者!

我在 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 添加到提供程序会导致另一个错误:Can't resolve all parameters for Store: (?, ?, ?)。

4

3 回答 3

14

我有这个错误,因为在我的组件中自动导入Store从而 import { Store } from '@ngrx/store/src/store'不是 import { Store } from '@ngrx/store'; . 无论如何,这是在 Angular 5 中

于 2017-11-16T07:12:57.057 回答
10

补充app.module.ts

// Make sure you import from @ngrx/store
import { StoreModule } from '@ngrx/store';

@NgModule({
  imports: [
      StoreModule.forRoot({ characters, vehicles }),
  ...
于 2017-05-30T17:43:03.853 回答
6

只是为了完整起见,使用 Angular 5 / Ngrx 4.1.1 它将是(在 app.module.ts 中):

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

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

这里有一个完整的例子

于 2018-01-02T11:15:58.150 回答