Angular 角度错误:ActivatedRoute没有提供程序

Angular 角度错误:ActivatedRoute没有提供程序,angular,angular-activatedroute,Angular,Angular Activatedroute,我使用的是angular 5最新版本,我点击了下面的异常 ERROR Error: StaticInjectorError(AppModule)[AppComponent -> ActivatedRoute]: StaticInjectorError(Platform: core)[AppComponent -> ActivatedRoute]: NullInjectorError: No provider for ActivatedRoute! at _Nu

我使用的是angular 5最新版本,我点击了下面的异常

ERROR Error: StaticInjectorError(AppModule)[AppComponent -> ActivatedRoute]: 
  StaticInjectorError(Platform: core)[AppComponent -> ActivatedRoute]: 
    NullInjectorError: No provider for ActivatedRoute!
    at _NullInjector.get (core.js:1002)
    at resolveToken (core.js:1300)
    at tryResolveToken (core.js:1242)
    at StaticInjector.get (core.js:1110)
    at resolveToken (core.js:1300)
    at tryResolveToken (core.js:1242)
    at StaticInjector.get (core.js:1110)
    at resolveNgModuleDep (core.js:10854)
    at NgModuleRef_.get (core.js:12087)
    at resolveDep (core.js:12577)
app.module.ts如下所示 从'@angular/router'导入{Routes,RouterModule}

@NgModule({
  declarations: [
    AppComponent,
    OptyDetailsComponent,
    GlobalNavbarComponent
  ],
  imports: [
    BrowserAnimationsModule,
    BrowserModule,
    HttpModule,
    HttpClientModule,
    FlexLayoutModule,
    FormsModule,
    MatButtonModule,
    MatInputModule
    RouterModule
  ],
  entryComponents: [
  ], 
  providers: [
    DataStoreService,
    DataObjectsOscService,
    AdobeSignService,
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }

为了能够在角度元素中提供
ActivatedRoute
,需要将调用
RouterModule.forRoot
的结果导入根模块(AppModule)。这是因为
RouterModule.forRoot
返回的模块包括
ActivatedRoute
实例的提供程序

因此,基本上您需要将以下内容添加到根模块中的导入中:

@NgModule({
  ...
  imports: [
    ...
    // Remark: because you havent defined any routes, I have to pass an empty
    // route collection to forRoot, as the first parameter is mandatory.
    RouterModule.forRoot([]),
    ...
  ],
  ...
})
export class AppModule { }
但老实说,尽管您还没有为根模块定义任何路由,但使用
ActivatedRoute
还是有点奇怪

有关更多详细信息,请参阅:


您的路由器配置是如何编写的?你能添加一些代码吗?我已经在使用RouterModule.forRoot,就像这样
RouterModule.forRoot(路由,{enableTracing:false,onSameUrlNavigation:'reload'})
。如何将activatedRoute添加到此列表?添加到哪个列表?你的意思是什么?根据你的说法,我应该添加
RouterModule.forRoot([])
使其工作。但我已经在用另一种方式使用RouterModule.forRoot了。那么,我需要在我自己的RouterModule.forRoot实现中更改什么,以便将activatedRoute包括在
路由中,{enableTracing:false,onNameUrlNavigation:'reload'}
参数列表?为我的答案添加了一个小的说明。您不需要对代码进行任何更改。@d锁定您最好创建一个新问题