在以角度4重定向到新路线之前获取当前路线的数据

时间:2018-04-26 06:53:15

标签: angular routing routes angular4-router

实际要求: 在重定向到新路由之前,我想触发当前路由(组件)的功能。此函数实际上用于保存当前路径中存在的窗体的值。(在重定向到新路径(组件)之前自动保存当前组件的数据)。

我的解决方案: 我将在重定向到新路由之前检查当前路由的数据,数据将包含要触发的当前路由名称和功能名称。

挑战: 如何在重定向到新路由之前获取当前路由的数据?

以下是示例代码:

routing.ts

export const AppRoutes: Routes = [
          { path: 'overviewHistory', component: OverviewHistoryComponent,data: { state: 'overviewHistory',function:'abc' }},
          { path: 'leadDetails', component: LeadInformationComponent, data: { state: 'leadDetails',function:'abc1' } },
          { path: 'checeklist', component: CheckListComponent,data: { state: 'checeklist',function:'abc2' }},
          { path: 'teamManagement', component: TeamManagementProfileComponent,data: { state: 'teamManagement',function:'abc3' }},
          { path: 'directorDetails', component: DirectorOtherpartyDetailComponent,data: { state: 'directorDetails',function:'abc4' }},
          { path: 'addressDetails', component: AddressDetailsComponent,data: { state: 'addressDetails',function:'abc5' }},
];

HTML:

<div id="site-content" class="content full-width" [@routerTransition]="getState(o)" >
        <router-outlet #o="outlet"  (activate)="optionChange(o)"></router-outlet>

</div>

TS:

  optionChange(outlet){
    // Some logic....
  }

请帮助实现这一目标。还建议是否有任何新方法来实现实际要求。

0 个答案:

没有答案