Page 354 - AngularJS权威教程
P. 354

334  第 24 章  揭秘 Angular






                      第24章

                                       揭秘Angular








                 从本质上讲,在浏览器中加载AngularJS Web应用的方式与加载非AngularJS应用的方式一样。
             但是,它们的运行方式略有不同。浏览器会在构建DOM元素时加载AngularJS库(如同正常加载
             任意JavaScript库)。
                 当浏览器触发DOMContentLoaded事件时,Angular就开始工作。它首先寻找ng-app指令(更
             多关于ng-app指令的信息请参考第10章)。


                         加载angular.js时,如果document.readyState被设置为complete,Angular也会
                        启动初始化。如果你想要动态连接AngularJS脚本,这个技术是有用的。


                 如果浏览器在DOM中找到ng-app指令,它会为我们自动启动应用。如果没有找到这个指令,
             Angular期望我们自己手动启动应用。

                 要手动启动一个AngularJS应用,可以使用Angular的bootstrap()方法。在一些罕见的情况
             下手动启用应用程序是有意义的。例如,想要在某个其他库的代码运行之后,或者在运行时动态
             创建元素时,启动AngularJS应用。
                 要想手动启动应用,可以像下面这样启动它:

                 var newElement = document.createElement("div");
                 angular.bootstrap(newElement, ['myApp']);


                         如果在DOM中没有找到ng-app指令,而且也没有手动启动应用,则AngularJS
                        不会运行。忘记在页面中引入ng-app指令肯定会引发一些严重的问题。

                        注意,bootstrap()方法只允许我们启动angular应用一次。

                 如果在ng-app属性中没有指定应用程序,则Angular会加载一个不带特定模块的应用。如果
             指定了,Angular就会加载与这个指令关联的模块。
                 使用没有指定模块的ng-app:

                 <html ng-app>
                 </html>

                 使用带有指定模块的ng-app:
                 <html ng-app="moduleName">
                 </html>
   349   350   351   352   353   354   355   356   357   358   359