Skip to main content

Angular: Constructor vs ngOnInit , Basic differences

 Angular: Constructor vs  ngOnInit, Basic differences

 

Constructor is the feature provided by ES6 (i.e. Typescript)

ngOnInit is provided by Angular itself

     

interface OnInit {

  ngOnInit(): void

}

 

Before seeing what was the order of execution let’s see if both is not available what will happen,

 

You can see that the Angular s happily compiling and executing the code even the constructor or ngInit is not present

 


 


   

 

As a next step we are trying to implement the ngOnInit interface explicitly, let’s see what will happen

 


 

 

We are getting the following error

 

Class 'AppComponent' incorrectly implements interface 'OnInit'.
Property 'ngOnInit' is missing in type 'AppComponent' but required in type 'OnInit'.

 

So we need to implement the ngOnInit if we are specifying in the class

 

After implementing the ngOnInit we are getting the page back to normal

 


 

So what is the order of execution now.

 

To find this we will create a constructor and provide the

 

console.log

 

 


 

In the output we will see the constructor is loading first and then the ngOnInit

 

 

Example available at

https://stackblitz.com/edit/angular-ivy-avjhdh

 

 

 

 

 


Comments

Popular posts from this blog

Using of global variables in C# - Drawbacks & Solutions

How using global variables can have implications on the design, maintainability, and test-ability of C# code: Harder to understand and reason about the code:       class Program     {         public static int globalCounter = 0;         static void Main()         {             globalCounter++;             Console.WriteLine(globalCounter);         }     }   In this example, the global variable globalCounter is accessible from anywhere in the program, including the Main method. It's not clear where the value of the globalCounter is updated, it could be updated in other methods or classes, making it harder to trace the flow of data and understand the source of bugs.   More prone to errors:       class Program     {         public static string globalString;         static void Main()         {             globalString = "Hello" ;             Method1();             Method2();         }         static void Method1()         {

Task Parallel Library (TPL) and Akka.NET Alternatives

Task Parallel Library (TPL) and Akka.NET are among the most commonly used libraries for parallel and concurrent programming in the .NET ecosystem. However, there are also several other options available, depending on your specific needs: Parallel Language Integrated Query (PLINQ) is a parallel programming feature of .NET that provides an easy and efficient way to perform operations on collections in parallel. LINQ (Language Integrated Query) is a powerful feature in .NET that allows developers to work with data in a more declarative and language-integrated manner. While LINQ queries are inherently sequential, PLINQ extends LINQ by providing parallel versions of the query operators, allowing some queries to execute faster by utilizing multiple processors or cores on a machine. PLINQ is great when you are working with large collections where operations might be CPU-intensive or I/O-bound and could potentially be sped up by parallel execution. Here is a simple example of a PLI

SOLID Principles with Real World examples in C#

  SOLID Principles with Real World examples in C#   SOLID principles are formed by using S Single Responsibility Principles (SRP) O Open Closed Principle (OCP) L Liskov’s Substitution Principle (LCP) I Interface Segregation Principle (ISP) D Dependency Inversion Principle (DIP)   S Single Responsibility Principles (SRP) There should never be more than one reason for a class to change, to be precise one class should have only one responsibility Single Responsibility Principles (SRP) Real world example, A perfect match for SRP is Microservices , a Microservice will not contain functionalities other than the one it is designated to do,  Example ·                   Order Processing Service, ·                   Shipment Management Service, ·                   User Authentication Service, ·                   Catalogue List Service       class OrderProcessor     {         public void Process(Order order)         {             // Check inven