[英]How does AngularJS traverse the Angular template (HTML + AngularJS Directives) asynchronously?
我正在阅读Brad Green和Shyama Sheshadari撰写的AngularJS书,发现以下内容:
基本的启动流程如下所示:
1.用户请求您的应用程序的首页。
2.用户的浏览器与您的服务器建立HTTP连接,并加载包含模板的dex.html页面。
3.角加载到页面中,等待页面完全加载,然后寻找ng-app定义其模板边界。
4.角度遍历模板并查找指令和绑定。 这导致侦听器注册和DOM操作,以及从服务器获取初始数据。 这项工作的最终结果是引导应用程序,并将模板作为DOM转换为视图。
5.您连接到服务器以加载需要向用户显示所需的其他数据。步骤1至3是每个Angular应用程序的标准步骤。 您可以在第4步和第5步中进行选择。 这些步骤可以同步或异步进行。 为了提高性能,您的应用需要在第一个视图上显示给用户的数据可以与HTML模板一起列出,以避免重复请求。
第4步如何异步进行? 另外,当作者说第一次迭代中数据可以与HTML一起发送时,这是什么意思? HTML将始终具有来自Angular指令的数据,不是吗?
如果HTML包含指令,则该指令可能会异步加载模板,例如
至于嵌入数据:想象您的应用程序需要一个用户对象。 现在,控制器可以从服务器加载该数据,以便应用程序可以使用它。 但这需要另一个请求。
相反,您可以像这样将用户对象直接嵌入到页面中,例如:
<script ...>
var user = {
name: 'Me',
...
};
该应用程序可以立即使用数据,而无需发出其他请求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.