在我的app.module.ts
文件中,我开设了一家商店:
imports: [
StoreModule.forRoot(
{ soundtrackState: soundtrackReducer }
),
EffectsModule.forRoot(
[
// SoundtrackEffects TODO add some effects
]
),
StoreDevtoolsModule.instrument({ maxAge: 15, logOnly: environment.production }),
CoreModule,
现在,如果我将此代码移出并移到core.module.ts
文件中,则会收到nullinjectorerror no provider for store
错误。
答案 0 :(得分:0)
对于您需要使用forFeature
的其他所有以root为根的模块,我想app.module的存储区应该使用您编写的代码进行初始化。
@NgModule({
declarations: [
],
imports: [
EffectsModule.forFeature(groupModuleEffects),
StoreModule.forFeature(GROUPS_FEATURE_NAME, groupModuleReducers),
StoreDevtoolsModule.instrument({ maxAge: 25, logOnly: environment.production }),
SharedModule
],
providers: []
})
export class GroupsModule {}
答案 1 :(得分:0)
您的某些服务可能通过以下方式导入了商店
import { Store } from '@ngrx/store/src/store'
或
import { Store } from '@ngrx/store/store'
确保导入是从导入的,
import { Store } from '@ngrx/store'
如果一切正常,则商店定义可能存在问题。请通过堆栈闪电或其他方式共享您的app.module.ts
和core.module.ts
代码。这样我们就可以解决问题。