AngularJS初始化过程分析(引导程序)

 更新时间:2014年12月06日 17:15:04   投稿:junjie  
这篇文章主要介绍了AngularJS初始化过程分析(引导程序),这一节解释了AngularJS初始化的过程,以及需要的时候你该如何修改AngularJS的初始化,需要的朋友可以参考下

概览

这一节解释了AngularJS初始化的过程,以及需要的时候你该如何修改AngularJS的初始化。

AngularJS的 <script> 标签

这个示例展示了我们推荐的整合AngularJS的方法,它被称之为“自动初始化”。

复制代码 代码如下:

<!doctype html>
<html xmlns:ng="http://angularjs.org" ng-app>
    <body>
        ...
    <script src="angular.js"><script>
    </body>
</html>

formatDate

1.将上面代码中的script标签放在页面的底部。将script标签放在底部缩短应用加载的时间,因为这样HTML的加载不会被angular.js脚本的加载阻塞。你可以从http://code.angularjs.org获得最新的版本。请不要在你的代码里面引用这个URL,因为它会暴露你的站点的安全隐患。如果只是实验性质的开发,那链接到我们的站点没有什么问题。

1).angular-[version].js 是具有可读性的版本, 适合开发和调试。
2).angular-[version].min.js 是压缩和混淆后的版本, 适合部署到成型产品中。

2.请将ng-app指令 放到你的应用的标签根节点中, 如果你想要AngularJS自动执行整个<html>程序就把它放在 <html> 标签中。

复制代码 代码如下:

<html ng-app>

3.如果你想使用旧版的指令语法:ng:,那还需要将xml-namespace写在<html>中 才能使AngularJS在IE下正常工作。(这样做是因为一些历史原因, 我们不推荐继续使用ng:的语法。)

复制代码 代码如下:

<html xmlns:ng="http://angularjs.org">

自动初始化

AngularJS会在DOMContentLoaded事件触发时执行,并通过ng-app指令 寻找你的应用根作用域。如果 ng-app指令找到了,那么AngularJS将会:

1.载入和 指令 内容相关的模块。
2.创建一个应用的“注入器(injector)”。
3.已拥有ng-app 指令 的标签为根节点来编译其中的DOM。这使得你可以只指定DOM中的一部分作为你的AngularJS应用。

复制代码 代码如下:

<!doctype html>
<html ng-app="optionalModuleName">
    <body>
        I can add: {{ 1+2 }}.
        <script src="angular.js"></script>
    </body>
</html>

手动初始化

如果你需要主动控制一下初始化的过程,你可以使用手动执行引导程序的方法。比如当你使用“脚本加载器(script loader)”,或者需要在AngularJS编译页面之前做一些操作,你就会用到它了。

下面的例子演示了手动初始化AngularJS的方法。它的效果等同于使用ng-app指令 。

复制代码 代码如下:

<!doctype html>
<html xmlns:ng="http://angularjs.org">
    <body>
        Hello {{'World'}}!
        <script src="http://code.angularjs.org/angular.js"></script>
        <script>
            angular.element(document).ready(function() {
            angular.bootstrap(document);
            });
        </script>
    </body>
</html>

下面是一些你的代码必须遵守的顺序:

1.等页面和所有的脚本加载完之后,找到HTML模板的根节点——通常就是文档的根节点。
2.调用 api/angular.bootstrap将模板编译成可执行的、数据双向绑定的应用程序。

相关文章

  • AngularJS 防止页面闪烁的方法

    AngularJS 防止页面闪烁的方法

    我们知道在应用的页面或者组件需要加载数据时,浏览器和angular渲染页面都需要消耗一定的时间。这篇文章主要介绍了AngularJS 防止页面闪烁的方法,需要的朋友可以参考下
    2017-03-03
  • AngularJS中重新加载当前路由页面的方法

    AngularJS中重新加载当前路由页面的方法

    下面小编就为大家分享一篇AngularJS中重新加载当前路由页面的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • AngularJS实现的锚点楼层跳转功能示例

    AngularJS实现的锚点楼层跳转功能示例

    这篇文章主要介绍了AngularJS实现的锚点楼层跳转功能,涉及AngularJS事件响应实现锚点跳转功能的相关操作技巧,需要的朋友可以参考下
    2018-01-01
  • 通过AngularJS实现图片上传及缩略图展示示例

    通过AngularJS实现图片上传及缩略图展示示例

    本篇文章主要介绍了通过AngularJS实现图片上传及缩略图展示,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • 简介AngularJS的HTML DOM支持情况

    简介AngularJS的HTML DOM支持情况

    这篇文章主要介绍了AngularJS的HTML DOM支持情况,包括ng-hide和ng-click指令的使用,需要的朋友可以参考下
    2015-06-06
  • Angular4学习笔记之根模块与Ng模块

    Angular4学习笔记之根模块与Ng模块

    这篇文章主要介绍了Angular4学习笔记之根模块与Ng模块,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • angular2+nodejs实现图片上传功能

    angular2+nodejs实现图片上传功能

    这篇文章主要介绍了angular2+nodejs实现图片上传功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • AngularJS单选框及多选框实现双向动态绑定

    AngularJS单选框及多选框实现双向动态绑定

    这篇文章主要为大家详细介绍了AngularJS单选框及多选框实现双向动态绑定的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • Angular ViewChild组件间通信demo

    Angular ViewChild组件间通信demo

    这篇文章主要为大家介绍了Angular ViewChild组件间通信demo,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • Angularjs在360兼容模式下取数据缓存问题的解决办法

    Angularjs在360兼容模式下取数据缓存问题的解决办法

    这篇文章主要为大家详细介绍了Angularjs在360兼容模式下取数据缓存问题的解决办法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06

最新评论