Bootstrap
本节我们将分析Angular应用初始化流程以及怎样手动启动Angular应用。
Angular<script> 标签
下面的例子说明了如何在页面中引入Angular.
<!doctype html> <html xmlns:ng="http://angularjs.org" ng-app> <body> ... <script src="angular.js"></script> </body> </html>
1. 将script标签置于body标签低端。这样可以加快页面的加载, 这样HTML加载不会因为加载angular.js被阻塞。可以从http://code.angularjs.org 下载最新的Angular。请不要在Production代码中引入前面的URL,会引发安全问题。
- 在开发环境下调试可引入angular-[version].js
-在生产环境中使用angular-[version].min.js,这是被混淆和压缩过的版本,可以提高安全性,提升页面的加载
2. 把ng-app指令置于app的顶部标签,通常在html标签上,这样Angular会自动启动应用。
3. 如果使用旧风格的指令语法ng:,需要引入xml-namespace(命名空间),解决IE兼容性问题。
自动初始化
Angular初始化由DOMContentLoaded事件或者在document.readyState为'complete'后angular.js载入完后被触发。Angular会
寻找ng-app指令并按如下步骤初始化应用:
1. 载入与ng-app指令相关的模块
2. 创建模块相关的注入器
3. 以ng-app所在节点为根节点编译DOM
<!doctype html> <html ng-app="optionalModuleName"> <body> I can add: {{ 1+2 }}. <script src="angular.js"></script> </body> </html>
最佳实践推荐在ng-app所在元素中加入ng-strict-di指令,参看如下代码:
<!doctype html> <html ng-app="optionalModuleName" ng-strict-di> <body> I can add: {{ 1+2 }}. <script src="angular.js"></script> </body> </html>
如果不用ng-app,我们可以通过angular api在js代码中启动angular应用,代码如下:
<!doctype html> <html> <body> <div ng-controller="MyController"> Hello {{greetMe}}! </div> <script src="http://code.angularjs.org/snapshot/angular.js"></script> <script> angular.module('myApp', []) .controller('MyController', ['$scope', function ($scope) { $scope.greetMe = 'World'; }]); angular.element(document).ready(function() { angular.bootstrap(document, ['myApp']); }); </script> </body> </html>
通过angular.bootstrap在相应的DOM元素中启动应用模块,上例中bootstrap的第一个参数document为angular app所对应的DOM,
第二个参数为需要启动的应用模块。模块必须在调用bootstrap前定义。在调用bootstrap后不能再为应用模块添加控制器、服务、指令等
组件。启动bootstrap必须在页面和所有模块代码被载入以后,即angular.element(document).ready回调中。
延迟启动
如果window.name属性以NG_DEFER_BOOTSTRAP!为前缀,调用angular.bootstrap后,启动过程将在angular.resumeBootstrap回调中被执行。
可以在angular.resumeBootstrap的参数列表中注入应用模块所需的依赖。一般在需要注入很多依赖的测试场景中适用。
相关推荐
NULL 博文链接:https://boyitech.iteye.com/blog/2167272
讲义中可能涵盖了以下几个关键知识点: 1. **基本概念**:博弈论的基本元素包括参与者(玩家)、策略集、支付函数和博弈结构。每个参与者都有自己的目标,通过选择不同的策略来追求最大化利益。 2. **零和博弈与非...
论文研究-不确定性下多目标博弈中弱Pareto-NS均衡的存在性.pdf, 在已知不确定参数变化范围的假设下, 研究了多目标博弈中弱Pareto-NS均衡点的存在性问题. 首先结合非合作...
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程...
### 博弈论专题知识点详解 #### 一、博弈论概览 博弈论,又称对策论,是现代数学的一个重要分支,主要研究在各种策略情况下,参与者如何做出决策以达到自身利益最大化。这一理论不仅在数学领域有广泛的应用,同时...
哈佛大学的博弈论讲义是这个领域的权威资料之一,深受学者和学生们的喜爱。本讲义深入浅出地介绍了博弈论的基本概念、理论与应用,帮助读者理解在竞争与合作中的决策制定。 首先,我们要理解博弈论的核心概念——...
例如,在智猪博弈中,大猪和小猪如何决定是否启动食物分配器,形成了一个动态的决策过程,最终得出大猪按按钮,小猪等待的子博弈精炼纳什均衡。 然后,讲义探讨了不完全信息静态博弈和动态博弈。在这些博弈中,参与...
2. **完全信息动态博弈** - 这部分涉及博弈的动态过程,我们将深入研究子博弈精炼纳什均衡,这是考虑到博弈的各个阶段,参与者如何在每个阶段做出最优决策。 3. **不完全信息静态博弈** - 在参与者掌握的信息不完全...
微观经济学讲义-第13章博弈论
势博弈与时变Log-linear分布式拓扑控制算法 势博弈与时变Log-linear分布式拓扑控制算法是为了解决UWSNs(Underwater Wireless Sensor Networks,水下无线传感器网络)中网络拓扑控制不稳定、频繁变化引起的网络能耗...
2019年2季度大类资产配置报告:从基本面博弈转向资金面博弈-华泰证券-20190424.pdf
计算博弈第二讲-V61 计算博弈是自动化研究所 University of Chinese of Academy of Sciences 的一门专业普及课,旨在让学生理解博弈的基本概念、方法和应用。第二讲的主要内容是博弈表示方法、常见博弈类型和博弈的...
七所大学的博弈论讲义,包括哈佛大学.卡内基梅隆大学.芝加哥大学.加利福尼亚大学(圣. 迭戈校区).加利福尼亚
讲义第三章详细讲解了子博弈精炼纳什均衡,这是一种动态博弈的解概念,要求均衡策略不仅要在初始阶段是最佳的,而且在任何可能的子博弈中也必须是最优的。以房地产开发项目的例子来说明,开发商A和B在面对不确定市场...
博弈是什么意思-博弈之道须正矣.docx
人机博弈。PDF中文版。。。。。。。。。。。。。。。。。。。。。。。。。
基于混沌博弈优化算法CGO-BiTCN-BiGRU-Attention的风电预测算法研究Matlab实现.rar
奶粉行业首次覆盖报告:存量博弈,国产崛起-20210407
本讲义主要涵盖了非合作博弈理论和信息经济学的核心概念。 首先,非合作博弈理论是博弈论的基础,它描述了两个或多个独立决策者之间的互动,这些决策者无法通过正式协议来协调行动。在完全信息静态博弈中,所有参与...