想請問切換頁面(route變動),如何切到別的route後切回來仍然保存頁面上的資料

目前假設一個專案下有ABC三個網頁
網址分別為
/a
/b
/c
在routing.ts中設定如下

const routes: Routes = [
  {
    path: '',
    canActivate: [AuthGuard],
    component: LayoutComponent,
    children: [
      { path: '', redirectTo: 'a', pathMatch: 'full' },
      { path: 'a', component: aComponent },
      { path: 'b', component: bComponent },
      { path: 'c', component: cComponent },
    ],
  },
  {
    path: '**',
    redirectTo: 'login',
    pathMatch: 'full',
  },
];

目前希望A做了一些動作後(像是填表單和CALL API拿資料進來)
之後切到B或C
再切回來
A的網頁上的東西(像是顯示隱藏的狀態),都能還存在著

目前我切換,有些會存在有些會不見

我看到一些文件寫說
OnInit的東西因為只call一次所以都不會再做動

所以如果ABC網頁做切換,有什麼好方式讓頁面的資料保存嗎?

如果真的沒辦法,雖然不太想這樣做,
只能改架構用放在同一網頁
底下用tab切換?

你可以使用 RouteReuseStrategy 這個來實現,詳細可以參考 kevin 的文章
[Angular] 該如何使用設定 RouteReuseStrategy | CK’s Notepad (kevinyang.net)

非常感謝!