DO YOU NEED A CONTENT WRITER FOR YOUR BUSINESS?

Your One-Stop Solution for All Content Needs! Click here for more!
Categories: AngularJS

AngularJS custom directives

Share

To extend the functionality of HTML in AngularJS, custom directives are used using “directive” function. This simply replaces the element for which this is activated.

Using its compile() method AngularJS application finds the matching elements and process for one time activity.

For the following types of elements AngularJS provides support to create custom directives.
– Element directives
– Attribute
– CSS
– Comment

Example:

<html>
<head>
<title>AngularJS custom directives</title>
</head>
<body>
<h2>AngularJS custom directives</h2>
<div ng-app="myApp" ng-controller="UserController">
<user name="John"></user>
<user name="Jane"></user>
<user name="Steve"></user>
</div>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script>
var myApp = angular.module("myApp", []);

myApp.directive('user', function() {
var directive = {};
directive.restrict = 'E';
directive.template = "Name: <b>{{user.name}}</b>, Age: <b>{{user.age}}</b>";

directive.scope = {
user : "=name"
}

directive.compile = function(element, attributes) {
element.css("border", "1px solid #ffffff");

var linkFunction = function($scope, element, attributes) {
element.html("Name: <b>"+$scope.user.name +"</b>, Age: <b>"+$scope.user.age+"</b><br/>");
element.css("background-color", "#c2c2c2");
}
return linkFunction;
}

return directive;
});

myApp.controller('UserController', function($scope) {
$scope.John = {};
$scope.John.name = "John Doe";
$scope.John.age  = 47;

$scope.Jane = {};
$scope.Jane.name = "Jane Doe";
$scope.Jane.age  = 33;

$scope.Steve = {};
$scope.Steve.name = "Steve Martin";
$scope.Steve.age  = 25;
});

</script>
</body>
</html>
Namaste UI

For any types of queries, you can contact us on info[at]namasteui.com.

View Comments

Recent Posts

Flawless Prize Fulfilment and Management That Takes Your Marketing Campaigns to the Next Level

In today’s fast-paced and highly competitive marketing environment, even the most creative campaign is only…

1 day ago

Moving company Zeromax in NYC

We are NYC moving firm. Are you planning a flat move? Maybe a distance or…

5 days ago

Mobile testing: An important task for smooth functioning of the device

Mobile devices, unlike desktops and laptops, can not be handled by dozens or hundreds of…

6 days ago

Augmented Reality in Education is Blowing Up the Candles!

Augmented Reality- An immersive experience for the learners! Learning and education aren’t the same as…

1 week ago

Here Are 4 Diamond Studs for You to Gift Your Special Ones

On special days like birthdays and weddings, we all like to celebrate our loved ones…

1 week ago

7 Best Web Application Development Tools

A web application is different from a regular mobile or desktop application as it runs…

1 week ago