使用带有routerLink属性

时间:2017-12-15 16:54:13

标签: angular angular5 angular-router

我有一个SharedModule 这个共享模块有一个模板组件,我使用[routerLink]属性。共享模块没有定义任何路由,但需要了解路由属性/服务,因此我不能使用forRoot()或forChild()。

我使用forRoot语法在 AppModule 中定义路由。

RouterModule.forRoot(
    appRoutes,
    { enableTracing: process.env.ROUTE_TRACING }
)

如果我在 SharedModule 中导入RouterModule,我会收到错误:

TestComponent.html:1 ERROR Error: 
StaticInjectorError[Router]: 
  StaticInjectorError[Router]: 

   imports: [
        HttpClientModule, 
        CommonModule, 
        ButtonsModule,
        RouterModule]

问题是我如何将路径从app模块传递到共享模块。如果我在共享模块的组件中定义[routerlink],它需要知道appModule的路由。

共享模块需要知道RouterModule的所有属性/服务,并且需要知道app模块的路由。

如果我只是导入RouterLink并将其添加到共享模块,它似乎无法理解应用模块的路由。

我是否需要在共享模块上使用forRoot静态方法执行某些操作?

由于

0 个答案:

没有答案