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

问题描述 投票:1回答:1

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

++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中有一个点击事件,那么如何将值从admin布局发送到仪表板?

目前,我通过Url发送它,比如在路径上更改它

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

什么时候路由。

是否有任何替代和清洁的方式。

angular angular-ui-router
1个回答
3
投票

您可以使用具有一个实例的Singleton服务,在其中添加一些日期并在任何需要的地方获取它们。创建共享模块之后,创建共享模块并在主模块和仪表板模块中导入该共享模块

您可以使用ModuleWithProviders和forRoot来提供单件服务

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

你可以这样导入它:

imports: [
    SharedModule.forRoot(),
],
© www.soinside.com 2019 - 2024. All rights reserved.