There are three kinds of directives:
Component Directives – These
will create reusable components by encapsulating logic in JavaScript, HTML or
an optional CSS style sheet.
Decorator Directives – These
directives will be used to decorate elements
Example: Adding a tooltip, or
showing/hiding elements using ng-show/ng-hide.
Template Directives – These
will turn HTML into a reusable template. The instantiating of the template and
its insertion into the DOM can be fully controlled by the directive author.
Examples: include ng-if and ng-repeat.