实际要求: 在重定向到新路由之前,我想触发当前路由(组件)的功能。此函数实际上用于保存当前路径中存在的窗体的值。(在重定向到新路径(组件)之前自动保存当前组件的数据)。
我的解决方案: 我将在重定向到新路由之前检查当前路由的数据,数据将包含要触发的当前路由名称和功能名称。
挑战: 如何在重定向到新路由之前获取当前路由的数据?
以下是示例代码:
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....
}
请帮助实现这一目标。还建议是否有任何新方法来实现实际要求。