“编译”DOM是什么意思?

时间:2017-06-12 04:34:32

标签: angularjs

  

Angular将从ngApp根元素开始“编译”DOM,处理在此过程中发现的任何指令和绑定。

在这种情况下,编译究竟意味着什么?

1 个答案:

答案 0 :(得分:0)

ng-app指令是AngularJS Application的起点。它自动初始化AngularJS框架。在加载整个文档后,AngularJS框架将首先检查HTML文档中的ng-app指令,如果找到ng-app,它自行引导编译HTML模板

  • 通常,ng-app指令应放在HTML文档的根目录中,例如或标记,以便它可以控制整个DOM层次结构。但是,您可以将它放在任何DOM元素中。

  • ng-app指令还可以指定应用程序模块名称。此应用程序模块将应用程序的不同部分分开,例如控制器,服务,过滤器等。

引导: -
Angular在DOMContentLoaded事件时或在将angular.js脚本下载到浏览器并且document.readyState设置为完成时自动初始化/ bootstraps。此时,AngularJS会查找ng-app指令。当找到ng-app指令时,Angular将:

<强>编译: - 编译器是一个AngularJS服务,它遍历DOM寻找属性。编译过程分两个阶段进行。

  1. 编译:遍历DOM并收集所有指令。结果是一个链接功能。

  2. 链接:将指令与范围相结合并生成实时视图。范围模型中的任何更改都会反映在视图中,并且     任何用户与视图的交互都会反映在范围中     模型。这使范围模型成为事实的唯一来源。