AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法

 更新时间:2017年01月04日 11:59:09   作者:aitangyong  
这篇文章主要介绍了AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法,结合实例形式分析了ng-app自动加载我们自定义的模块作为根模块的操作步骤与实现技巧,需要的朋友可以参考下

本文实例讲述了AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法。分享给大家供大家参考,具体如下:

接着前面那篇《AngularJS使用ng-app自动加载bootstrap框架问题分析》,现在我们看下如何使用带属性值的ng-app命令,让ng-app自动加载我们自定义的模块作为根模块。

<!DOCTYPE html>
<html>
  <head>
    <script src="angular.js"></script>
    <script>
    var rootMoudle = angular.module('rootMoudle', []);
    rootMoudle.controller("rootControl",function($scope){$scope.name="aty"});
  </script>
  <head>
  <body>
    <div id="moudle1" ng-app="rootMoudle" ng-controller="rootControl">div1:{{name}}</div>
  </body>
</html>

可以看到,我们使用了angular.module()函数,创建了一个自定义的模块,我们并没有显示加载。但是通过运行效果可以看出:ng-app这个指令自动加载了我们自定义的rootMoudle。我们知道,使用angular.bootstrap()可以手动加载模块,如果我们自己调用这个函数是什么效果呢?

<html>
  <head>
    <script src="angular-1.2.2/angular.js"></script>
    <script>
    var rootMoudle = angular.module('rootMoudle', []);
    rootMoudle.controller("rootControl",function($scope){$scope.name="aty"});
    //页面加载完成后,加载rootMoudle
    angular.element(document).ready(function(){
      angular.bootstrap(document.getElementById("moudle1"), ['rootMoudle']);
    });
  </script>
  <head>
  <body>
    <div id="moudle1" ng-app="rootMoudle" ng-controller="rootControl">div1:{{name}}</div>
  </body>
</html>

用IE运行这个网页,用F12观察控制台报错:

SCRIPT5022: [ng:btstrpd] App Already Bootstrapped with this Element '<div class="ng-scope ng-binding" id="moudle1" ng-app="rootMoudle" ng-controller="rootControl">'

这就是说:ng-app已经自动完成了rootMoudle的加载,我们没有必要多此一举,再次显示调用angular.bootstrap来加载。也可以看得出:angular框架,一个模块只允许加载一次。ng-app用来自动加载模块,bootstrap用来手动加载模块

更多关于AngularJS相关内容感兴趣的读者可查看本站专题:《AngularJS入门与进阶教程》及《AngularJS MVC架构总结

希望本文所述对大家AngularJS程序设计有所帮助。

相关文章

  • Angular HMR(热模块替换)功能实现方法

    Angular HMR(热模块替换)功能实现方法

    本篇文章主要介绍了Angular HMR(热模块替换)功能实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • angular中ui calendar的一些使用心得(推荐)

    angular中ui calendar的一些使用心得(推荐)

    下面小编就为大家带来一篇angular中ui calendar的一些使用心得(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • angular.js实现列表orderby排序的方法

    angular.js实现列表orderby排序的方法

    今天小编就为大家分享一篇angular.js实现列表orderby排序的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • 快速学习AngularJs HTTP响应拦截器

    快速学习AngularJs HTTP响应拦截器

    任何时候,如果我们想要为请求添加全局功能,例如身份认证、错误处理等,在请求发送给服务器之前或服务器返回时对其进行拦截,是比较好的实现手段
    2015-12-12
  • 深入理解AngularJS中的ng-bind-html指令

    深入理解AngularJS中的ng-bind-html指令

    ng-bind-html和ng-bind的区别就是,ng-bind把值作为字符串,和元素的内容进行绑定,但是ng-bind-html把值作为html,和元素的html进行绑定.相当于jq里面的.text()和.html()。这篇文章主要给大家深入的介绍了AngularJS中ng-bind-html指令 的相关资料,需要的朋友可以参考下。
    2017-03-03
  • AngularJS控制器之间的通信方式详解

    AngularJS控制器之间的通信方式详解

    这篇文章主要介绍了AngularJS控制器之间的通信方式,结合实例形式分析了作用域继承方式、事件方式及angular服务方式等常用的通信方式,需要的朋友可以参考下
    2016-11-11
  • AngularJS使用ng-repeat遍历二维数组元素的方法详解

    AngularJS使用ng-repeat遍历二维数组元素的方法详解

    这篇文章主要介绍了AngularJS使用ng-repeat遍历二维数组元素的方法,结合实例形式分析了AngularJS二维数组元素遍历的相关操作技巧,需要的朋友可以参考下
    2017-11-11
  • 总结AngularJS开发者最常犯的十个错误

    总结AngularJS开发者最常犯的十个错误

    AngularJS是如今最受欢迎的JS框架之一,简化开发过程是它的目标之一,这使得它非常适合于元型较小的apps的开发,但也扩展到具有全部特征的客户端应用的开发。下面给大家总结了AngularJS开发者最常犯的十个错误,有需要的可以参考学习下。
    2016-08-08
  • 解决三元运算符 报错“SyntaxError: can''''t assign to conditional expression”

    解决三元运算符 报错“SyntaxError: can''''t assign to conditional expre

    在本篇文章里小编给大家整理的是关于python三元运算符 报错“SyntaxError: can't assign to conditional expression”的处理方法,需要的朋友们学习下。
    2020-02-02
  • 全面解析Angular中$Apply()及$Digest()的区别

    全面解析Angular中$Apply()及$Digest()的区别

    $apply()和$digest()在AngularJS中是两个核心概念,但是有时候它们又让人困惑。这篇文章主要介绍了Angular中$Apply()及$Digest()区别详细说明的相关资料,需要的朋友可以参考下
    2016-08-08

最新评论