Angular 4-如何将价值从父组件传递到儿童模块



我正在尝试将值从父组件传递给子模块。这是我的项目结构:

++Layout
---admin-layout.component.html
---admin-layout.component.ts
++Dashboard
---dashboard.component.html
---dashboard.component.ts
---dashboard.module.ts
---dashboard.routing.ts

和我的app.routing.ts路由是这样的。

export const AppRoutes: Routes = [{
  path: '',
  component:  AdminLayoutComponent,
  children: [
    {path: '/dashboard', loadChildren: 'PATH/dashboard.module#DashboardModule'},
///
]}];

所以我的问题我在admin-layout.html中有一个单击事件,所以如何将管理布局的值发送到仪表板?

目前,我正在通过URL发送类似于在路径上更改它的东西

 {path: '/dashboard/:eventidvalue', loadChildren: 'PATH/dashboard.module#DashboardModule'},

路由时。

是否有其他选择的方法。

您可以使用一个有一个实例的单例服务,将日期放入其中,然后将它们带到任何地方。创建一个共享模块之后,创建一个共享服务并导入您在主模块和仪表板模块中共享模块

您可以使用ModulewithProviders和Forroot提供Singleton服务

import { SharedService } ...
...
export class SharedModule {
static forRoot(): ModuleWithProviders {
    return {
        ngModule: SharedModule,
        providers: [SharedService]
    }
}}

您可以以这种方式导入:

imports: [
    SharedModule.forRoot(),
],

最新更新