无法在app.module.ts上挂接效果。尝试添加效果时显示静态注入器错误

时间:2019-02-27 17:59:50

标签: angular ngrx ngrx-store ngrx-effects

我正在学习ngRx商店,因此使用ngRx / Store,Effects构建了一个小项目。 该应用程序分为两个部分。一个部分处理书籍,另一部分处理帖子。对于书籍部分,数据是同步获取的,因此没有任何问题。 在“帖子”部分中,我的意图是使用ngRx / Effects从异步API异步获取数据。但是,当我仅编写裸露的效果并尝试将其连接到我的app.module.ts中时,出现此错误。 Error Image

下面是我的App.module.ts

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import {ReactiveFormsModule} from '@angular/forms'
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { BookListComponent } from './components/book-list/book-list.component';

import { StoreModule } from '@ngrx/Store';
import { AddBookComponent } from './add-book/add-book.component';
import { PostListComponent } from './post-list/post-list.component';
import {HttpClientModule} from '@angular/common/http'
import { EffectsModule } from '@ngrx/effects';
import { PostEffects } from './Effects/posts.effects';
import { reducers } from './Store/app.reducer';


@NgModule({
  declarations: [
    AppComponent,
    BookListComponent,
    AddBookComponent,
    PostListComponent,
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    ReactiveFormsModule,
    HttpClientModule,
    StoreModule.forRoot(reducers),
    EffectsModule.forRoot([PostEffects]),

  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

这是我放在一起的最低限度的效果。

import { Injectable } from '@angular/core';
import { Effect, Actions } from '@ngrx/effects';
@Injectable()
export class PostEffects {
  @Effect()
  getPosts ;
  constructor(private actions$: Actions) {
  }
}

这是我的应用程序状态减少器

import { State } from '../reducers/books.reducers';
import { postState } from '../reducers/posts.reducers';
import { ActionReducerMap } from '@ngrx/Store';
import * as bookListReducer from '../reducers/books.reducers';
import * as postListReducer from '../reducers/posts.reducers';

export interface AppState {
    bookList: State,
    postList : postState
}
export const reducers: ActionReducerMap<AppState> = {
    bookList: bookListReducer.booksReducer,
    postList : postListReducer.postsReducer
  }

有人可以帮我吗?谢谢

0 个答案:

没有答案