2
サードパーティのnpmパッケージを使用しています。このパッケージには、このコードでApiModule
が含まれています。私のAngular2アプリで 処理されていないPromiseの拒否、サービスのプロバイダがありません
import { PlansService } from './api/plans.service';
import { UsersService } from './api/users.service';
@NgModule({
imports: [ CommonModule, HttpModule ],
declarations: [],
exports: [],
providers: [ PlansService, UsersService ]
})
export class ApiModule {
public static forConfig(configuration: Configuration): ModuleWithProviders {
return {
ngModule: ApiModule,
providers: [ {provide: Configuration, useValue: configuration}]
}
}
}
は、私がメイン
AppModule
+
AppComponent
と
LoginModule
+
LoginComponent
を使用しています。
これはAppModule
のコードです:
@NgModule({
bootstrap: [ App ],
declarations: [
App,
ErrorComponent
],
imports: [ // import Angular's modules
BrowserModule,
ApiModule, <<<<<<<<<<<<<<<<<<<<<<<<<<
FormsModule,
HttpModule,
RouterModule.forRoot(ROUTES, { useHash: true })
],
providers: [
ENV_PROVIDERS,
APP_PROVIDERS
]
})
export class AppModule {
あなたはLoginModule
がルートによってロードされている見ることができるように。私LoginComponent
で
@NgModule({
declarations: [
LoginComponent
],
imports: [
CommonModule,
ReactiveFormsModule,
AlertModule,
ApiModule, <<<<<<<<<<<<<<<<<<<<<<<<<<<
RouterModule.forChild(routes),
]
})
export default class LoginModule {
static routes = routes;
}
私はUsersService
は、コンストラクタのパラメータとして注入されていることをしようとしている:これはLoginModule
のコードです。それにもかかわらず、それは私に言っている:
未処理プロミス拒否:UsersServiceのプロバイダはありません!
export class LoginComponent implements OnInit {
constructor(private commty: UsersService) { ... }
任意のアイデア?
これを解決できましたか? –