将@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
与身份验证功能无任何关联。
答案 0 :(得分:0)
将4.4.4
个软件包从4.4.5
升级到username
解决了问题O_O'