AngularJS custom directives are used to extend the HTML functionality. Custom directives is defined using 'directive' AngularJS function. AngularJS has a set of built-in directives which has many default functionalities (HTML attributes with the prefix ng-
like ng-app
, ng-init
and ng-scope
).
Types of Directive
These are the following types of AngularJS Directives:
- Element directives
- Attribute directives
- CSS class directives
- Comment directives
How to define and use AngularJS Directives
I can explain you the steps of creating custom Directive and use in HTML template.
Defining the JS
var app = angular.module('myApp', []); app.directive('exampleDirective', function() { return { restrict: 'E', scope:{ panelTitle: '@', panelBody: '@', }, template: '', replace: true, link: function(scope, elm, attrs) { } }; });{{panelTitle}}{{panelBody}}
scope - panelTitle and panelBody is the two scope where we can pass title and body content.
template – Created a HTML Template for making Panel head and body. This specifies the HTML markup that will be produced when the Directive is compiled and linked.
restrict – This provides a way to specify how a Directive should be used in HTML.
replace – This specifies if the generated Template will replace the HTML element on which the Directive is attached.
Place Directives in HTML
<example-directive panel-title="Panel Title" panel-body="Panel Body"></example-directive>
In this case, the name must be written using dashes and each dash represents a capital letter (panelTitle changed to panel-title when come to template) from the directive definition.