Bird
Raised Fist0
Angularframework~5 mins

Component lifecycle overview in Angular - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the purpose of the Angular component lifecycle?
It manages the different stages a component goes through from creation to destruction, allowing you to run code at specific moments.
Click to reveal answer
beginner
Name the lifecycle hook that runs once after the component's data-bound properties are initialized.
ngOnInit() runs once after input properties are set, perfect for initialization tasks.
Click to reveal answer
beginner
Which lifecycle hook is called before Angular destroys a component?
ngOnDestroy() is called just before the component is removed, useful for cleanup like unsubscribing.
Click to reveal answer
intermediate
What does the ngOnChanges() hook do?
It runs whenever input properties change, letting you react to those changes.
Click to reveal answer
intermediate
Why is ngAfterViewInit() important?
It runs after Angular fully initializes the component's view, so you can safely access child elements or components.
Click to reveal answer
Which lifecycle hook is called only once after component inputs are set?
AngAfterViewInit()
BngOnDestroy()
CngOnChanges()
DngOnInit()
When is ngOnDestroy() called?
ABefore component removal
BAfter component view initialization
CBefore component creation
DWhen input properties change
What does ngOnChanges() detect?
AComponent destruction
BChanges in input properties
CView initialization
DComponent creation
Which hook lets you access child components after the view is ready?
AngAfterViewInit()
BngOnChanges()
CngOnDestroy()
DngOnInit()
Why use lifecycle hooks in Angular?
ATo style components
BTo write HTML templates
CTo manage component stages and run code at key moments
DTo create new components
Explain the main Angular component lifecycle hooks and when they run.
Think about the component's journey from creation to destruction.
You got /4 concepts.
    Describe a real-life scenario where you would use ngOnDestroy() in an Angular component.
    Consider what happens when a component is no longer needed.
    You got /4 concepts.

      Practice

      (1/5)
      1. Which Angular lifecycle hook is called once after the component's data-bound properties have been initialized?
      easy
      A. ngOnInit()
      B. ngOnDestroy()
      C. ngAfterViewInit()
      D. ngDoCheck()

      Solution

      1. Step 1: Understand lifecycle hook purpose

        ngOnInit() runs once after Angular sets component input properties.
      2. Step 2: Compare other hooks

        ngOnDestroy() runs before component removal, ngAfterViewInit() after view initialization, ngDoCheck() on every change detection.
      3. Final Answer:

        ngOnInit() -> Option A
      4. Quick Check:

        Initialization hook = ngOnInit() [OK]
      Hint: Initialization after inputs = ngOnInit() [OK]
      Common Mistakes:
      • Confusing ngOnInit with ngAfterViewInit
      • Thinking ngOnDestroy runs on init
      • Mixing ngDoCheck with ngOnInit
      2. Which of the following is the correct syntax to implement the OnDestroy lifecycle hook in an Angular component?
      easy
      A. class MyComponent implements OnDestroy { ngDestroy() { } }
      B. class MyComponent implements OnDestroy { ngOnDestroy() { } }
      C. class MyComponent { onDestroy() { } }
      D. class MyComponent implements OnDestroy { destroy() { } }

      Solution

      1. Step 1: Recall correct method name

        The lifecycle hook method for destruction is ngOnDestroy().
      2. Step 2: Check interface implementation

        Implementing OnDestroy requires defining ngOnDestroy() exactly.
      3. Final Answer:

        class MyComponent implements OnDestroy { ngOnDestroy() { } } -> Option B
      4. Quick Check:

        OnDestroy method = ngOnDestroy() [OK]
      Hint: Method name must be ngOnDestroy() exactly [OK]
      Common Mistakes:
      • Using wrong method name like ngDestroy or destroy
      • Not implementing the interface
      • Omitting parentheses in method
      3. Given this Angular component code snippet, what will be logged to the console when the component is initialized and then destroyed?
      export class SampleComponent implements OnInit, OnDestroy {
        ngOnInit() {
          console.log('Init');
        }
        ngOnDestroy() {
          console.log('Destroy');
        }
      }
      medium
      A. Only Destroy
      B. Only Init
      C. Init followed by Destroy
      D. No output

      Solution

      1. Step 1: Understand ngOnInit behavior

        ngOnInit() runs once when component initializes, logging 'Init'.
      2. Step 2: Understand ngOnDestroy behavior

        ngOnDestroy() runs once before component is removed, logging 'Destroy'.
      3. Final Answer:

        Init followed by Destroy -> Option C
      4. Quick Check:

        Init then Destroy logs = Init followed by Destroy [OK]
      Hint: Init logs on start, Destroy logs on removal [OK]
      Common Mistakes:
      • Assuming ngOnDestroy runs on init
      • Expecting logs in reverse order
      • Thinking no logs appear
      4. Identify the error in this Angular component lifecycle hook implementation:
      export class TestComponent implements OnInit {
        ngOnInit() {
          console.log('Component initialized');
        }
        ngOnDestroy() {
          console.log('Component destroyed');
        }
      }
      medium
      A. Missing OnDestroy interface in implements clause
      B. ngOnInit method name is incorrect
      C. ngOnDestroy should not be used here
      D. Console.log statements are invalid

      Solution

      1. Step 1: Check implemented interfaces

        The class implements OnInit but defines ngOnDestroy() without implementing OnDestroy.
      2. Step 2: Understand interface contract

        To use ngOnDestroy(), the class should implement OnDestroy interface for clarity and correctness.
      3. Final Answer:

        Missing OnDestroy interface in implements clause -> Option A
      4. Quick Check:

        Implement interface for each lifecycle hook used [OK]
      Hint: Implement interfaces for all lifecycle hooks used [OK]
      Common Mistakes:
      • Ignoring interface implementation for ngOnDestroy
      • Thinking method names are wrong
      • Believing console.log is invalid
      5. You want to run code after Angular fully initializes the component's view and its child views. Which lifecycle hook should you use, and why? Choose the correct hook and reason.
      hard
      A. ngAfterContentInit() because it runs after projected content is initialized.
      B. ngOnInit() because it runs after input properties are set.
      C. ngDoCheck() because it runs on every change detection cycle.
      D. ngAfterViewInit() because it runs after the component's view and child views are initialized.

      Solution

      1. Step 1: Identify hook for view initialization

        ngAfterViewInit() runs after Angular initializes the component's view and child views.
      2. Step 2: Compare other hooks

        ngOnInit() runs earlier, ngAfterContentInit() runs after projected content, and ngDoCheck() runs repeatedly.
      3. Final Answer:

        ngAfterViewInit() because it runs after the component's view and child views are initialized. -> Option D
      4. Quick Check:

        View init completion = ngAfterViewInit() [OK]
      Hint: Use ngAfterViewInit() for post-view initialization code [OK]
      Common Mistakes:
      • Confusing ngAfterContentInit with ngAfterViewInit
      • Using ngOnInit for view-dependent code
      • Expecting ngDoCheck to run once
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard