Guards dan Resolvers — Angular

Guards mengontrol akses ke route, Resolvers menyiapkan data sebelum navigasi. Functional Guard export const authGuard: CanActivateFn = (route, state) => { const

Guards mengontrol akses ke route, Resolvers menyiapkan data sebelum navigasi.

Functional Guard

export const authGuard: CanActivateFn = (route, state) => {
  const auth = inject(AuthService)
  const router = inject(Router)

  if (auth.isLoggedIn()) return true
  return router.parseUrl("/login")
}

Menggunakan Guard

export const routes: Routes = [
  {
    path: "dashboard",
    component: DashboardComponent,
    canActivate: [authGuard],
  },
]

Resolver

export const userResolver: ResolveFn<User> = (route) => {
  const api = inject(ApiService)
  return api.getUser(route.paramMap.get("id")!)
}

Yang akan kamu pelajari