繁体   English   中英

AngularJS如何异步遍历Angular模板(HTML + AngularJS指令)?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM