当前位置: 移动技术网 > IT编程>脚本编程>AngularJs > AngularJS执行流程详解

AngularJS执行流程详解

2018年05月01日  | 移动技术网IT编程  | 我要评论

一.启动阶段

浏览器解析html页面,读取到angular.js的<script>标签后会停止解析后面的dom节点,开始执行angular.js,与此同时,angular会设置一个事件监听器来监听domcontentloaded事件,当angular监听到这个事件后,angular就启动了。

二.初始化阶段

angular启动后,它会查找ng-app指令,然后初始化一系列必要的组件(即$injector、$compile服务以及$rootscope),接着继续解析dom。

三.编译、链接阶段

1.angular使用$compile服务通过遍历dom树的方式查找带有指令的dom元素,然后根据指令的priority优先级对这些查找到的指令进行排序。

2.之后使用$injector服务查找和收集每个指令下面的compile函数,并执行它。

3.每个节点的compile方法运行之后,$compile服务就会调用链接函数。这个链接函数为绑定了封闭作用域的指令设置监控。这一行为会创建实时视图。

4.以上所有完成后,angular启动完成

四.运行阶段

angular提供了自己的事件循环。指令自身会注册事件监听器,因此当事件被触发时,指令函数就会运行在angularjs的$digest循环中。$digest循环会等待$watch表达式列表,当检测到模型变化后,就会调用$watch函数,然后再次查看$watch列表以确保没有模型被改变。一旦$digest循环稳定下来,并且检测到没有潜在的变化了,执行过程就会离开angular上下文并且通常会回到浏览器中。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持移动技术网!

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网