Angular templates are dynamic. when angular renders them, it transforms the DOM according to the instructions given by directives. A Directive is a class with a @Directive() decorator. in addition to components, there are two type of directives Structural and attribute. angular defines a number of directives of both kinds, and you can define your own using