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

时间:2014-08-28 08:12:32

标签: javascript html angularjs asynchronous

我正在阅读Brad Green和Shyama Sheshadari撰写的AngularJS书,并发现了以下文字:

  

基本启动流程如下所示:
  1.用户请求申请的第一页   2.用户的浏览器与您的服务器建立HTTP连接并加载   包含模板的dex.html页面   3. Angular加载到页面中,等待页面完全加载,然后查看   用于ng-app定义其模板边界   4. Angular遍历模板并查找指令和绑定。结果   注册侦听器和DOM操作,以及获取初始数据   从服务器。这项工作的最终结果是应用程序是自助式的   模板作为DOM转换为视图   5.您连接到服务器以加载显示用户所需的其他数据   需要的。

     

步骤1到3是每个Angular应用程序的标准。这是第4步   5,你有选择。这些步骤可以同步发生或   异步。为了提高性能,您的应用需要显示的数据   第一个视图上的用户可以使用HTML模板   避免多次请求。

步骤4如何异步发生?此外,当作者说第一次迭代时数据可以与HTML一起发送时,作者的意思是什么? HTML总是会有来自Angular指令的数据,不是吗?

1 个答案:

答案 0 :(得分:0)

如果HTML包含指令,则该指令可能异步加载模板,例如。

至于嵌入数据: 想象一下,您的应用程序需要一个用户对象。现在,控制器可能会从服务器加载该数据,以便应用程序可以使用它。但这需要另一个请求。

相反,您可以将该用户对象直接嵌入到页面中,例如:

<script ...>
var user = {
            name: 'Me',
            ...
           };

应用程序可以立即使用数据,而无需另外请求。