博弈AngularJS讲义(17) - 启动

本文介绍Angular应用的初始化流程,包括如何引入Angular、自动初始化过程及手动启动应用的方法。此外还探讨了延迟启动Angular应用的场景。

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的参数列表中注入应用模块所需的依赖。一般在需要注入很多依赖的测试场景中适用。

  

内容概要:本文档是一份关于交换路由配置的学习笔记,系统地介绍了网络设备的远程管理、交换机与路由器的核心配置技术。内容涵盖Telnet、SSH、Console三种远程控制方式的配置方法;详细讲解了VLAN划分原理及Access、Trunk、Hybrid端口的工作机制,以及端口镜像、端口汇聚、端口隔离等交换技术;深入解析了STP、MSTP、RSTP生成树协议的作用与配置步骤;在路由部分,涵盖了IP地址配置、DHCP服务部署(接口池与全局池)、NAT转换(静态与动态)、静态路由、RIP与OSPF动态路由协议的配置,并介绍了策略路由和ACL访问控制列表的应用;最后简要说明了华为防火墙的安全区域划分与基本安全策略配置。; 适合人群:具备一定网络基础知识,从事网络工程、运维或相关技术岗位1-3年的技术人员,以及准备参加HCIA/CCNA等认证考试的学习者。; 使用场景及目标:①掌握企业网络中常见的交换与路由配置技能,提升实际操作能力;②理解VLAN、STP、OSPF、NAT、ACL等核心技术原理并能独立完成中小型网络搭建与调试;③通过命令示例熟悉华为设备CLI配置逻辑,为项目实施和故障排查提供参考。; 阅读建议:此笔记以实用配置为主,建议结合模拟器(如eNSP或Packet Tracer)动手实践每一条命令,对照拓扑理解数据流向,重点关注VLAN间通信、路由选择机制、安全策略控制等关键环节,并注意不同设备型号间的命令差异。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值