Angular 2/4中的嵌套模块/组件

时间:2017-04-08 12:17:20

标签: angular

我有这个结构:

App/dashboard/dashboard.module.ts
App/dashboard/dashboard.component.ts
App/dashboard/dashboard.component.html
App/dashboard/routes.ts
App/app.module.ts
App/app.component.ts
App/app.component.html

在app / dashboard文件夹中有另一个子组件。在dashboard.component.html上是

使用这种方法,如何导入我可以在仪表板的子组件上使用的服务?如果我在app.module.ts上使用[providers],可以在其余的模块/组件上访问吗?而且,如果我想在app.module.ts的同一级别使用新组件,我可以使用dashboard.component的路由器插座吗?

2 个答案:

答案 0 :(得分:1)

使用router

实现嵌套

您在此模块中routes.ts创建新路径,添加组件并添加子项:

    const crisisCenterRoutes: Routes = [
  {
    path: 'index',
    component: BaseComponent,
    children: [
      {
        path: 'main',
        component: ChildComponent,
        children: [
          {
            path: ':id',
            component: ChildChildComponent
          }
        ]
      }
    ]
  }
];

在BaseComponent template.html中添加<router-outlet></router-outlet>

<div>..html..  <router-outlet></router-outlet>  </div>

通过模板添加ChildComponent

<router-outlet></router-outlet>的推理奇偶校验

你嵌套成功

答案 1 :(得分:0)

服务只添加到模块一次,你可以随处使用。

参考这篇文章!

  

https://angular.io/docs/ts/latest/cookbook/ngmodule-faq.html#!#q-module-provider-visibility

而且,如果我想在app.module.ts的同一级别使用新组件,可以使用dashboard.component的router-outlet吗?

你可以使用这条路线,但你的结构很奇怪......