2016-11-15 9 views
2

AngularJS 2アプリケーションでng2-idleを使用しています。私はプロジェクトのnode_modulesフォルダにng2-idleパッケージを取得できました。私は次のように私のコンポーネントのいずれかにインポートしようとしています:未知(約束):アイドル用プロバイダなし

Dashboard.component.ts:

import { Ng2IdleModule } from 'ng2-idle/index'; 
import { DEFAULT_INTERRUPTSOURCES } from 'ng2-idle/index'; 
import { Idle } from 'ng2-idle/idle'; 

//location and router 
import { Router } from '@angular/router'; 


import { AppComponent } from '../../app.component'; 

@Component({ 

    selector: 'dashboard', 
    templateUrl: './dashboard.component.html' 
}) 

export class DashboardComponent { 
    private showBusyIndicator: boolean = false; 
    private idleState: string = 'Not started.'; 
    private timedOut: boolean = false; 
    constructor(@Host() @Inject(forwardRef(() => AppComponent)) private app: AppComponent, 
     private idle: Idle) {//throws an error when I include it in the constructor 

    } 

} 

を私は次のエラーを取得することを行うと:

message:Uncaught (in promise): Error: Error in ./DashboardComponent class DashboardComponent_Host - inline template:0:0 caused by: No provider for Idle! 
Error: No provider for Idle! 
    at NoProviderError.BaseError [as constructor] (http://localhost:4200/main.bundle.js:7103:34) 
    at NoProviderError.AbstractProviderError [as constructor] (http://localhost:4200/main.bundle.js:62865:16) 
    at new NoProviderError (http://localhost:4200/main.bundle.js:62896:16) 
    at ReflectiveInjector_._throwOrNull (http://localhost:4200/main.bundle.js:101281:19) 
    at ReflectiveInjector_._getByKeyDefault (http://localhost:4200/main.bundle.js:101309:25) 
    at ReflectiveInjector_._getByKey (http://localhost:4200/main.bundle.js:101272:25) 
    at ReflectiveInjector_.get (http://localhost:4200/main.bundle.js:101081:21) 
    at AppModuleInjector.NgModuleInjector.get (http://localhost:4200/main.bundle.js:63774:52) 
    at ElementInjector.get (http://localhost:4200/main.bundle.js:101472:48) 
    at ElementInjector.get (http://localhost:4200/main.bundle.js:101472:48) 
source: 
stack trace:null 

私はAppModuleでそれをインポートします。次のエラーが表示されます。

metadata_resolver.js:227Uncaught Error: Unexpected value 'Ng2IdleModule' imported by the module 'AppModule'(…) 

私のapp.moにモジュールをインポートしませんでしたdule.ts.それで、なぜこのエラーが発生していますか?この問題を解決する方法を教えてください。

+0

さて、なぜあなたはAppModuleでそれをインポートしてみませんか? –

+0

@AlexanderCiesielski私はAppModuleでそれをインポートしようとすると、私はエラーで質問を更新しました。 – Valla

答えて

2

ng2アイドルサンプルアプリによれば、.forRoot()でモジュールをインポートする必要があります。

https://github.com/HackedByChinese/ng2-idle-example#set-up-your-application-module

@NgModule({ 
    declarations: [ 
    AppComponent 
    ], 
    imports: [ 
    BrowserModule, 
    FormsModule, 
    HttpModule, 
    MomentModule, 
    NgIdleKeepaliveModule.forRoot() 
    ], 
    providers: [], 
    bootstrap: [AppComponent] 
}) 
export class AppModule { } 
関連する問題