ngrx EffectsModule使Http服务未定义

时间:2017-10-16 14:36:32

标签: angular typescript ngrx ngrx-effects

@ngrx/effects v4.0.5与Angular v4.4.4一起使用。

当我在EffectsModule中导入app.module.ts时,Http服务变得未定义。

一些代码:

// app.module.ts
import { BrowserModule, Title } from '@angular/platform-browser';
...
import { HttpModule, Http } from '@angular/http';
...
import { EffectsModule } from '@ngrx/effects';
import { AuthenticationModule } from './authentication/authentication.module';
import { MyEffects } from './myEffects.ts'
...

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    HttpModule,
    ...
    AuthenticationModule,
    StoreModule.forRoot(reducers),
    EffectsModule.forRoot([MyEffects])
  ]
  ...
})
export class AppModule { }

请注意,MyEffects与身份验证功能无任何关联。

当我使用我可以在我的应用程序中使用的第一件事时,登录按钮,我调用AuthenticationService.signIn,然后调用其http实例this.http.post(...

并且this.http未定义(收到错误消息,通过调试器查看,发现未定义 - this未定义且具有未定义的http属性)< / p>

如果我评论EffectsModule.forRoot([MyEffects]),http服务&#34;会重新出现&#34;签到工作。

请注意,MyEffects与身份验证功能无任何关联。

1 个答案:

答案 0 :(得分:0)

4.4.4个软件包从4.4.5升级到username解决了问题O_O'