@ngdoc overview @name Developer Guide: Angular HTML Compiler: Directives: Creating Custom Angular Directives @description The following code snippet shows how to define a custom directive. You define a new directive by extending the {@link dev_guide.compiler Angular HTML compiler}. The code snippet below is a simplified definition of the built-in {@link api/angular.directive.ng:bind ng:bind} directive:
angular.directive('ng:bind', function(expression, compiledElement) {
var compiler = this;
return function(linkElement) {
var currentScope = this;
currentScope.$watch(expression, function(value) {
linkElement.text(value);
});
};
});
# Additional Compiler Methods for Custom Directives
The angular compiler exposes methods that you may need to use when writing your own widgets and
directives. For example, the `descend()` method lets you control whether the compiler ignores or
processes child elements of the element it is compiling. For information on this and other
compiler methods, see the {@link api/angular.module.ng.$compile Compiler API doc}.
## Related Docs
* {@link dev_guide.compiler.directives Understanding Angular Directives}
* {@link dev_guide.compiler.directives_widgets Comparing Directives and Widgets}
* {@link dev_guide.compiler Angular HTML Compiler}
## Related API
* {@link api/angular.directive Angular Directive API}.