A subscription should have an owner and a stopping condition. Template-managed subscriptions or lifecycle-aware teardown prevent destroyed views from receiving long-lived updates.
Before you start
You should understand a component’s class, template and dependencies. Follow both the framework lifecycle and the ownership of each value or resource. Apply examples inside an Angular application; the surrounding application configuration and imports depend on the feature being demonstrated.
The practical goal is to reason through this situation: A component subscribes to a persistent event stream and releases it when destroyed. Read the walkthrough first, then try the interview exercise before opening its answer. The important part is explaining the decision and its consequences, rather than remembering a definition alone.
Step-by-step walkthrough
Step 1: Identify stream duration
One finite read and a persistent event stream have different lifetimes. The latter keeps resources unless explicitly stopped.
Step 2: Choose the owner
Use template-managed subscriptions or a component-lifecycle teardown mechanism for work belonging to the view.
Step 3: Verify destruction behavior
Release listeners and stop side effects after destruction. Do not rely on a hidden view remaining alive indefinitely.
Worked scenario
A component subscribes to a persistent event stream and releases it when destroyed.
A component listens to a shared event source. After navigating away, the source continues emitting for other consumers, but the destroyed component’s listener must be removed. Closing the global source would harm remaining consumers; failing to remove the local subscription would retain the destroyed component and continue its effects.
Common mistake
Finite HTTP streams and never-ending event streams have different leak risks.
Verify the behavior
Mount and destroy repeatedly, then emit. Check subscriber counts and confirm only active components receive the event.
Interview exercise
Verify teardown behavior.
Answer and reasoning
Destroy the component, emit another event and confirm no side effects or retained listeners remain.
Continue learning
Compare the scenario with the Angular interview questions and test your understanding with the Angular MCQs. For terminology and implementation details, consult the reference material.