Our first step is adding the EffectsModule in our app.module.ts
app.module.ts
@NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, BrowserAnimationsModule, RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' }), HttpClientModule, MatMenuModule, MatIconModule, MatSidenavModule, MatProgressSpinnerModule, MatListModule, MatToolbarModule, AuthModule.forRoot(), StoreModule.forRoot(reducers, { metaReducers }), StoreDevtoolsModule.instrument({ maxAge: 25, logOnly: environment.production }), EffectsModule.forRoot([]) // HERE ], bootstrap: [AppComponent] })
content_copyimport { EffectsModule } from '@ngrx/effects'; import { MovieEffects } from './effects/movie.effects'; @NgModule({ imports: [ EffectsModule.forRoot([MovieEffects]) ], }) export class AppModule {}
Now, we also need to add EffectsModule.forFeature([]) in the module we want to use but in this case is forFeature instead forRoot.
EffectsModule.forFeature([])
forFeature
forRoot
Last updated 4 years ago
Was this helpful?
After you've written your Effects class, you must register it so the effects start running. To register root-level effects, add the method with an array of your effects to your AppModule.app.module.ts
AppModule
EffectsModule.forRoot()