For each component you only need one resolver and you need to declare it once for each route, unless they are parent> child, you can share a resolver between them, as shown below:
const MessagesRoutes: Routes = [ { path: '', resolve: { messages: EmailResolver }, children: [ { path: 'inbox', component: InboxComponent }, { path: 'outbox', component: OutboxComponent }, { path: 'sent', component: SentComponent }, { path: 'received', component: ReceivedComponent } ]} ];
source share