@H_404_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'(…)
解决方法
根据ng2 idle示例应用程序,您需要使用.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 { }
@H_404_2@