2
使用@ngrx/effects
v4.0.5和Angular v4.4.4。ngrx EffectsModule使得Http服务未定义
当我在app.module.ts
中导入EffectsModule
时,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
属性,该属性未定义)
如果我注释掉EffectsModule.forRoot([MyEffects])
,HTTP服务“再次出现”,并在作品中的标志。
请注意,MyEffects
与身份验证功能没有任何关系。