Exploring the Various Decorators in Angular | A Complete Guide with Best Practices

Exploring the Various Decorators in Angular | A Complete Guide with Best Practices

Last updated on 10th Dec 2021, Blog, General

About author

Yuvanash (Angular Js and Node js Developer )

Yuvanash has an intense knowledge of HTML5, Javascript, angular, react JS, node JS, Express, StrongLoop, Git, Jade, EJS, etc. He is a certified professional with 7+ years of experience in their respective domains.

(5.0) | 19716 Ratings 714

Decorators are a design pattern that is used to separate modification or decoration of a class without modifying the original source code. In AngularJS, decorators are functions that allow a service, directive or filter to be modified prior to its usage.

    • Introduction to various decorators in angular
    • What are Decorators?
    • Making another Decorator in Angular
    • Sorts of Decorators
    • How to pass data to a decorator
    • Employments of Decorators in Real Time Applications
    • Conclusion

    Introduction to various decorators in angular:

    There are a few significant ideas in Angular, and Decorators are a significant idea to realize when you are working with adaptation 2 or more of Angular. Through this post we will find out with regards to decorators, its sorts and how it is being utilized continuously in applications. Decorators are a significant idea in TypeScript and since Angular utilises Typescript generally, decorators become a significant piece of Angular too.

Subscribe For Free Demo

    What are Decorators?

    Decorators are capacities that are summoned with a prefixed @ image, and are quickly trailed by a class, strategy or property. They permit an assistance, mandate or channel to be changed prior to being utilized. Essentially, a decorator gives setup metadata that decides how the part, class or a capacity ought to be handled, started up and utilized at runtime.

    Precise characterizes various decorators that append explicit sorts of metadata to classes, so the framework knows what those classes mean and how they should function.There are different sorts of in-fabricated decorators. We should check out each sort of decorator exhaustively.

    Making another Decorator in Angular :

    The accompanying code tells the best way to make a Decorator in Angular. You can allude to StackBlitz for the total code.

    The simpleDecorator improves the AppComponent class. It doesn’t take any contentions.

    • import { Component, VERSION } from ‘@angular/center’;
    • @simpleDecorator
    • @Component({
    • selector: ‘my-application’,
    • templateUrl: ‘./app.component.html’,
    • styleUrls: [‘./app.component.css’]
    • })
    • send out class AppComponent {
    • name = ‘Rakish ‘ + VERSION.major;
    • constructor() {
    • console.log(‘Hello from Class constructor’);
    • }
    • ngOnInit() {
    • console.log((this as any).value1);
    • console.log((this as any).value2);
    • }
    • }
    • work simpleDecorator(target: any) {
    • console.log(‘Hello from Decorator’);
    • Object.defineProperty(target.prototype, ‘value1’, {
    • esteem: 100,
    • writable: bogus
    • });
    • Object.defineProperty(target.prototype, ‘value2’, {
    • esteem: 200,
    • writable: bogus
    • });
    • }
    • **** Console ***
    • Hi from Decorator
    • Hi from Class constructor
    • 100
    • 200.

    As we said before, the decorator is a capacity. It gets the objective, as the contention, which is only the AppComponent

    Inside the capacity, we add two custom properties value1 and value2 to our AppComponent.

    • work simpleDecorator(target: any) {
    • console.log(‘Hello from Decorator’);
    • Object.defineProperty(target.prototype, ‘value1’, {
    • esteem: 100,
    • writable: bogus
    • });
Course Curriculum

Learn Advanced AngularJS Certification Training Course to Build Your Skills

Weekday / Weekend BatchesSee Batch Details

    Sorts of Decorators:

    There are four sorts of decorators and each type further has its own subset of decorators.

  • Class Decorators.
  • This is the principal sort of decorator which educates us regarding a specific class’ aim and helps answer questions like whether the class is a part or a module. There are different Class decorators in Angular, and among them @Component and @NgModule are broadly utilized.
  • We should see the design of class decorators through a code scrap.


    The underneath code piece utilizes @Component, which is a sort of class decorator given by Angular.

    Property Decorators:

    Property decorators are utilized to brighten explicit properties inside a class. Utilizing a property decorator, we can without much of a stretch recognize why we utilize a specific property of a class Like @Input (), @Output, @ReadOnly (), @Override ()

    The above code utilizes @Override decorator before the property name which will conjure the decorator. This is only a capacity and will abrogate the string property name from “pat” to “test”.

    Technique Decorator

    Technique decorators, as the name demonstrates, are utilized to enliven the strategy characterized inside our group with usefulness. A typical illustration of technique decorator is @HostListener

    In the above screen shot @HostListener decorator is utilized before onHostClick () technique.

    Boundary Decorators

    Boundary decorators permit us to design boundaries in our group constructors. @Inject () is a typical and generally utilized boundary decorator. Utilizing this decorator, we can infuse administrations in Angular classes.

    Construction of Decorators

    In all the code bits that we have seen such a long way on decorators, you probably saw that every one of the decorators follows a comparable example or design when utilized in code. Every decorator begins with @ image and is added before the class, strategy, property or passed as a boundary. All are capacities having open and close sections.

    This assists us with understanding that it is the capacity which is utilized as an in-assembled decorator. Very much like a capacity can be redone, decorators can likewise be altered. In light of the necessity in our undertaking, we can make custom decorators and use them appropriately.

    Custom Decorator

    In this segment we will become familiar with the means engaged with making custom decorators. As the term custom itself proposes, it is something which we make dependent on our task needs which isn’t as of now satisfied by the in-assembled Angular decorator. Thus, at whatever point we need to add some more highlights to our group, property of class, or technique for class we utilize custom decorators. Here we will make a custom class decorator.

    Stage 1. In an Angular undertaking arrangement structure, make a class envelope inside the application organizer. Inside the class envelope make a class named test Demo .

    Stage 2. When the class is made, you can feel free to make an envelope inside the application organizer called decorator and add a document name as class.decorator.ts

    Stage 3. As we probably are aware decorators are capacities, so we will make a capacity named Logging, as follows:

    ‘Target’ is the class on which this decorator will be utilized and as we will utilize this decorator on class test Demo, we have added send out watchwords before this capacity.

    Stage 4. As we will utilize this decorator in the example demo, let us add the example demo class with decorator.

    How to pass data to a decorator:

  • On the off chance that we add this class in our primary part and conjure, we will consider the result on control center to be custom decorator SampleDemo. The most effective method to pass information to a decorator.

  • The model clarified above is a straightforward custom decorator where we are logging a few messages on the control center alongside the class name where it is utilized. Yet, to send messages through the class where we are adding the decorator, then, at that point, we need to change the execution of the Function Logging.

  • Work Logging will acknowledge a few contentions and return the message as passed by the decorator in class. At the point when we utilize the decorators in Angular, we pass in some type of arrangement, explicit to the decorator.

  • For instance, when we use @Component we go through an article, and with @HostListener we go through a string as the primary contention (the occasion name, such as ’click’) and alternatively a variety of strings for additional factors (such as $event) to be gone through to the brightened strategy.

    Employments of Decorators in Real Time Applications:

  • Practically all Angular applications use decorator ideas; as decorators are capacities that permit a help, mandate or channel to be altered before its utilization.

  • @abrogate, @deprecate, @autobind, @mixin are decorators which are broadly utilized in continuous applications. Precise structure has a few of these sorts of models which help to accomplish complex elements in applications.

  • We know now what Angular decorators are and how they work on class, property, techniques and boundaries to give data about metadata.

  • All decorators work on a comparative guideline. We can apply a few changes to the conduct of the default usefulness or we can add some custom changes to the code before the decorator can be applied to a class, property or technique.

  • There are various ways of calling decorators as these decorators can handle start from the class execution to the property and technique execution inside the class.

  • Decorators are extraordinary when code should be modified to suit the requirements of the customers and when in-fabricated capacities don’t assist us with what we want.

Angular JS Sample Resumes! Download & Edit, Get Noticed by Top Employers! Download


    With regards to Angular decorators, we have a few choices to infuse our codes and rationale on various degrees of class; as everything in programming spins around class and its articles. Rakish, being a rich structure, gives us wide choices to deal with things in our own particular manner. TypeScript has presented this idea of decorators and those wishing to carry out decorators into their code will profit from going through TypeScript archives to see more with regards to genuine execution of decorators and its high level ideas.

Are you looking training with Right Jobs?

Contact Us

Popular Courses

Get Training Quote for Free