Constructor injection khai báo dependency qua constructor parameters, rõ ràng và quen thuộc.
Ví dụ functional guard dùng inject():
typescript
export const authGuard: CanActivateFn = () => {
const auth = inject(AuthService)
const router = inject(Router)
return auth.isLoggedIn() ? true : router.createUrlTree(["/login"])
}inject() gọn hơn cho guards, resolvers, interceptors hoặc field initializers; chỉ gọi trong injection context hợp lệ.