Explain injection contexts and when runInInjectionContext is required.
01
01
Understand the problem
diadvanced
02
02
Attempt it yourself
Sketch your approach before reading the solution — that's what interviews test.
Stuck? AI Nudge Available
Get a conceptual hint to guide your logic without spoiling the final implementation.
03
03
Study the solution
The solution is waiting
Give it an honest attempt first — then compare your thinking with the full walkthrough.
04
04
Read the code
Executing inject() inside an asynchronous click event handler
import { Component, Injector, runInInjectionContext, inject } from '@angular/core';
import { AnalyticsService } from './analytics.service';
@Component({
selector: 'app-dynamic-logger',
standalone: true,
template: '<button (click)="logClickEvent()">Log Action</button>'
})
export class DynamicLoggerComponent {
private injector = inject(Injector);
logClickEvent() {
runInInjectionContext(this.injector, () => {
const analytics = inject(AnalyticsService);
analytics.send('button_click', { time: Date.now() });
});
}
}05
05
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.