Components inheritance

Since Angular 2.3, we can use Components inheritance. The feature improve code reusability and desgin of our applications. This feature covers all of the following :

  • Metadata : You can herit of parent properties or override them. So, we can inherit from @NgModule, @Host, @Self @SkipSelf, @Inject, @Optionnal, @Attribute, @ContentChild, @ContetnChildren, @ViewChild … and lot of them.
  • Constructor : As with the ES6, you can use the super() constructor
  • LifeCycle : You can also herit of parent lifeCycle. 

But, there is no inheritance betwen templates. You should manage it separately.  

 

Lets see an example of use :

 

And the plnkr :

 

For this moment, we can instantiate an abstract component. I have opened an issue on github. Wait and see ….

 

William Koza

William Koza

Consultant Indépendant chez  
Passionné par la conception et le développement logiciel, j’ai rapidement pris le rôle de Technical Leader lors de mes premiers projets. Ces expériences ont ainsi pu me faire accéder à des rôles d’architecte dans des projets d’envergure. Aujourd'hui, j'exerce mon métier en tant qu'indépendant, et toujours avec la même passion.
William Koza

Les derniers articles par William Koza (tout voir)