2017-01-11 4 views
2

ng2-bootstrap datepickerを実装していますが、以下のエラーが表示されます。これで私を助けてください。angular2 - DatepickerConfigのサービスプロバイダがありません

EXCEPTION: Uncaught (in promise): Error: Error in 
     http://localhost:8888/app/components/report.component.html:3:0 caused by: No provider for DatepickerConfig! 

module.ts

import { DatepickerModule } from 'ng2-bootstrap'; 

    @NgModule({ 
    imports: [DatepickerModule], 
    declarations: [], 
    providers: [], 
    bootstrap: [AppComponent] 
}) 

component.ts

@Component({ 
module: module.id, 
selector:'my-date', 
template: ` 
    <h4>My Date Picker</h4> 
    <datepicker></datepicker>` 
}) 

export class MyComponent { 
} 

systemjs.config.js

System.config({ map: { 'ng2-bootstrap': 
'npm:ng2-bootstrap/bundles/ng2-bootstrap.umd.js'} }) 
+0

が解決される問題ですか? – echonax

答えて

6

forRoot()は、サンプルリポジトリでそのように定義されているため、使用する必要があります。慣例により

@NgModule({ 
    imports: [DatepickerModule.forRoot()], 
    declarations: [], 
    providers: [], 
    bootstrap: [AppComponent] 
}) 

、両方が提供すると同時に、サービスを構成forRoot静的方法。これは、サービス構成オブジェクトを取り、二つの性質を持つ単純なオブジェクトであるModuleWithProvidersを返します

•ngModule - CoreModuleクラス

•プロバイダ - 構成されたプロバイダ

ルートAppModuleがCoreModuleをインポートし、プロバイダをAppModuleプロバイダに追加します。

出典:https://angular.io/docs/ts/latest/guide/ngmodule.html#!#configure-core-services-with-coremodule-forroot

サンプルリポジトリ:https://github.com/valor-software/angular2-quickstart/blob/master/app/app.module.ts

+0

回答ありがとうございました... –

+0

@ arn-arnうれしいです:-) – echonax

関連する問題