I've been told that pre link phase is executing before a scope linked to the DOM element, and post link is after the DOM element been linked. Then I did an experiment: I set a 'debugger' in pre link function, navigated to my angularjs web page, when the page stopped in this breakpoint, I ran this command 'angular.element($0).scope()' in the chrome console, surprisingly I got an available scope object, not null or undefined. I thought this outcome should be in post link instead of pre link. I'm really confused, can anyone explain it to me? p.s. I'm sure $0 is exactly what I want.
Does an element has a scope in the pre link phase?
107 Views Asked by Tony At
1
There are 1 best solutions below
Related Questions in ANGULARJS
- Angular Show All When No Filter Is Supplied
- Using pagination on a table in AngularJS
- State with different subviews
- Getting and passing MVC Model data to AngularJS controller
- Implementing prerender.io middleware in sails.js
- Token based authorization in nodejs/ExpressJs and Angular(Single Page Application)
- AngularJS, Google App Engine and URLrewrite
- send data from table to another page into forms
- How to write tests for classes with inheritance
- angularJS sending OPTIONS instead of POST
- Receiving POST from external application in AngularJS
- Metaprogramming AngularJS Filters
- Reload List after Closing Modal
- Why is my angularjs site not completely crawlable?
- Why is separation of JavaScript and HTML a good practice?
Related Questions in SCOPE
- Python: Variable scope for nested generator expression
- angular load more tweets onclick
- Local variable scope in Java vs Python
- Maddening scope issue
- Compiling ES6 arrow functions to Es5 using Babel.js
- Is it possible in matlab to declare functions that will be accessible from other m files in a similar way as in c coding?
- Memory allocation of local variables within nested {}
- angular unit testing $scope.$on in a service not working
- Scope rails redirect to index
- Expire specific managed bean instance after time interval
- JavaScript function parameter and scope
- Scope of a variable and function name
- importing function giving scoping error
- javascript: scoping and accessing nested entities
- Block scope, function scope and local scope in Javascript
Related Questions in DIRECTIVE
- Directive with transclude, data binding not working in templateUrl
- angular $firebaseArrray: difference between controller and directive
- Accessing data between controller directive and factory
- How to Change Color of Progress Bar Angular Directive
- Unit test case for angular directive to manipulate css
- Undefined property value in directive nested in ng-repeat
- Using current controller in directive with inheritence
- AngularJS: Directive with arbitrary start and end symbols
- Test access controller in angular directive
- AngularJS: Adding ng-click within element.append
- $scope gets null after calling template in directive
- How can I use special characters in angular directives attributes?
- AngularJS the width doesn't corespond
- Angular directive not watching
- How to Dynamically Append Custom D3/SVG Element in Angular
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Fine, I figured it out by myself. Pre link means it will be executed before any child elements execute link function that contains another directive, and the point is "child elements", not the element itself. For example:
JS:
angular.element('#div1') has a scope which is $rootScope, and when the codes run to pre link phase, angular.element('#btn1') also has this $rootScope in this moment, but after the link phase in dir2, its scope will become an isolated scope which is no longer $rootScope but a new $scope. Every element will have a scope as long as be included in a "ng-app" element, so angular.element($0).scope() always returns an available scope object.