I have seen many references to AngularJS pre- and post-link functions in literature about AngularJS.
I am not sure however whether these can be customiz
Yes you can, as per @Mikke's answer. To sum up, there are four ways to declare linking functions:
From within compile
specifying both preLink
and postLink
functions explicitly:
compile: function compile(tElement, tAttrs, transclude) {
return {
pre: function preLink(scope, iElement, iAttrs, controller) { ... },
post: function postLink(scope, iElement, iAttrs, controller) { ... }
}
}
From within compile
returning only postLink
implicitly:
compile: function compile(tElement, tAttrs, transclude) {
return function postLink( ... ) { ... }
}
From within link
specifying both preLink
and postLink
explicitly:
link: {
pre: function preLink(scope, iElement, iAttrs, controller) { ... },
post: function postLink(scope, iElement, iAttrs, controller) { ... }
}
From withing link
using postLink
implicitly:
link: function postLink( ... ) { ... }
Yes, you can provide your own pre and post link functions. See the directive blueprint at Angular Docs' Comprehensive Directive API.
{
compile: function compile(tElement, tAttrs, transclude) {
return {
pre: function preLink(scope, iElement, iAttrs, controller) { ... },
post: function postLink(scope, iElement, iAttrs, controller) { ... }
}
// or
// return function postLink( ... ) { ... }
},
}