About angular-resolvers
A reference skill for Angular developers loading data during route navigation. It shows how to define functional resolvers, attach them to routes, access resolved data and handle errors.
Key features
- 01Functional route resolvers
- 02Attach resolvers to routes
- 03Read resolved data in components
- 04Handle resolver errors
- 05Configure multiple resolvers
Use cases
- 01Load user data before displaying a route
- 02Provide route components with resolved data
- 03Return a fallback value when loading fails
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ oguzhan18/ angular-ecosystem-skills --skill angular-resolversAfter installing, type/angular-resolversin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/discussions/_INDEX.mdreferences/docs/_INDEX.mdreferences/issues/_INDEX.mdreferences/releases/_INDEX.mdDetails
From the project READMEAngular Route Resolvers
Version: Angular 21 (2025) Tags: Resolvers, Routing, Data Loading
References: Resolvers Guide
Best Practices
- Create functional resolver
export const userResolver: ResolveFn<User> = (route, state) => {
const userService = inject(UserService);
const userId = route.paramMap.get('id');
return userService.getUser(userId!);
};
- Use resolver in route
const routes: Routes = [
{
path: 'user/:id',
resolve: { user: userResolver },
component: UserComponent
}
];
- Get resolved data in component
@Component({})
export class UserComponent {
private route = inject(ActivatedRoute);
user = this.route.snapshot.data['user'];
// Or with input binding (Angular 17+)
userId = input<string>();
}
- Handle resolver errors
export const dataResolver: ResolveFn<Data> = (route, state) => {
const service = inject(DataService);
return service.getData().pipe(
catchError(() => of(null))
);
};
- Use multiple resolvers
const routes: Routes = [
{
path: 'dashboard',
resolve: {
user: userResolver,
settings: settingsResolver
},
component: DashboardComponent
}
];
Comments
Markdown supported