[[Angular] [Store]将服务注入另一个服务的问题

问题描述 投票:0回答:1

我遇到以下问题。我已经创建了一个服务-我们将其称为CopyService。我正在将Store注入其中。

@Injectable({
  providedIn: 'root'
})
export class CopyService {  
  constructor(
    private copyStore: Store<fromCopyStore.CopyState>,
  ) {
    //something going on with the store
  } 

}

此外,我正在将CopyService注入MenuService

@Injectable({
  providedIn: 'root'
})
export class MenuService {

  constructor(private copyService: CopyService) { 
    // something going on with the copyService
  }
  
 }

最后,MenuService被注入到组件中:

export class Component implements OnInit {
  
  constructor(
    private store: Store<fromRoot.State>,
    private menuService: MenuService,    
  ) {
  }
  
  ngOnInit() {
      // something going on with the menuService
  }
}

仅对实际代码的草稿表示歉意,但我不确定我实际可以显示多少内容。无论如何,问题是,我得到了StaticInjectorError(AppModule)[Component-> Store]没有用于存储的提供程序!

我似乎可以深入探究问题的根源。当然,CopyService在我的应用程序的MainModule的provider部分中列出。

@NgModule({
  imports: [    
    StoreModule.forRoot(reducers, {})       
  ],
  providers: [CopyService],
  entryComponents: [
    //entry components
  ],
  declarations: [
    //declarations
  ]
})
export class MainModule { }

我正在研究Angular的依赖注入,但是到目前为止,还没有任何途径可以将我引向这个问题的正确方向。

非常感谢!

angular dependency-injection store ngrx
1个回答
0
投票

您应该将商店导入到模块中。

请参见https://ngrx.io/guide/store#tutorial

© www.soinside.com 2019 - 2024. All rights reserved.