angularjs - When does Angulars link function run? -


from understand runs once before page rendered. there ever case runs after page has been rendered?

i tried testing few things plnkr:

angular   .module('app', [])   .directive('test', function($http) {     return {       restrict: 'e',       template: '<input />',       link: function(scope, el, attrs) {         var input = angular.element(el[0].children[0]);         input.on('change', function() {           console.log('change event');           scope.$apply(function() {             console.log('digest cycle');           });         });         input.on('keyup', function() {           console.log('keyup event');           var root = 'http://jsonplaceholder.typicode.com';           $http.get(root+'/users')             .success(function() {               console.log('http request successful');             })             .error(function() {               console.log('http request error');             });         });         console.log('link function run');       }     };   }); 
  1. does typing in input field cause link function run?
  2. do event listeners cause link function run?
  3. do http requests (made $http?) cause link function run?
  4. do digest cycles cause link function run?

the answer of these questions seem "no".

the link function runs when instance of directive compiled, in case, when <test></test> element created. can when angular's bootstrapping compiles page, when comes being ng-if, when ng-repeat makes it, when it's made $compile, etc.

link never fire twice same instance of directive. notably, fires right after template has been compiled in directive's lifecycle.


Comments

Popular posts from this blog

Fail to load namespace Spring Security http://www.springframework.org/security/tags -

sql - MySQL query optimization using coalesce -

unity3d - Unity local avoidance in user created world -