AngularJS 模块化详解及实例代码


Posted in Javascript onSeptember 14, 2016

AngularJS有几大特性,比如:

1 MVC

2 模块化

3 指令系统

4 双向数据绑定

那么本篇就来看看AngularJS的模块化。

首先先说一下为什么要实现模块化:

1 增加了模块的可重用性

2 通过定义模块,实现加载顺序的自定义

3 在单元测试中,不必加载所有的内容

之前做的几个例子,控制器的代码直接写在script标签里面,这样声明的函数都是全局的,显然不是一个最好的选择。

下面看看如何进行模块化:       

<script type="text/javascript">
      var myAppModule = angular.module('myApp',[]);
      
      myAppModule.filter('test',function(){
        return function(name){
          return 'hello, '+name+'!';
        };
      });

      myAppModule.controller('myAppCtrl',['$scope',function($scope){
        $scope.name='xingoo';
      }]);
    </script>

首先,通过全局变量angular创建模块myAppModule

angular.module('myApp',[]);

第一个参数是绑定的应用app名称,这个app标识了页面中angular的入口点,类似main函数的作用。

第二个参数[]里面标识了依赖的模块。

下面看看如何使用模块吧!

<!doctype html>
<html ng-app="myApp">
  <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     <script src="http://apps.bdimg.com/libs/angular.js/1.2.16/angular.min.js"></script>
  </head>
  <body>
    <div ng-controller="myAppCtrl">
      {{name | test }}
    </div>
    <script type="text/javascript">
      var myAppModule = angular.module('myApp',[]);
      
      myAppModule.filter('test',function(){
        return function(name){
          return 'hello, '+name+'!';
        };
      });

      myAppModule.controller('myAppCtrl',['$scope',function($scope){
        $scope.name='xingoo';
      }]);
    </script>
  </body>
</html>

直接绑定myApp到ng-app上,就可以了。

  在script中,我们通过模块创建了一个filter和一个控制器。

filter的作用是 添加字符串修饰。

控制器的作用则是初始化变量。

程序的运行结果如下:

AngularJS 模块化详解及实例代码

          以上就是对AngularJS 模块化 的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!

Javascript 相关文章推荐
Javascript 中文字符串处理额外注意事项
Nov 15 Javascript
前端开发必须知道的JS之原型和继承
Jul 06 Javascript
javascript setAttribute, getAttribute 在不同浏览器上的不同表现
Aug 05 Javascript
深入理解JavaScript系列(48):对象创建模式(下篇)
Mar 04 Javascript
js实现新年倒计时效果
Dec 10 Javascript
原生JS取代一些JQuery方法的简单实现
Sep 20 Javascript
angularjs实现首页轮播图效果
Apr 14 Javascript
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
Jun 30 Javascript
javascript如何用递归写一个简单的树形结构示例
Sep 06 Javascript
详解使用create-react-app添加css modules、sasss和antd
Jul 31 Javascript
微信小程序实现发送验证码按钮效果
Dec 20 Javascript
JavaScript 异步时序问题
Nov 20 Javascript
AngularJS 过滤与排序详解及实例代码
Sep 14 #Javascript
AngularJS  自定义指令详解及实例代码
Sep 14 #Javascript
AngularJS 自定义过滤器详解及实例代码
Sep 14 #Javascript
AngularJS 中的Promise --- $q服务详解
Sep 14 #Javascript
AngularJS bootstrap启动详解及实例代码
Sep 14 #Javascript
AngularJS equal比较对象实例详解
Sep 14 #Javascript
AngularJS API之copy深拷贝详解及实例
Sep 14 #Javascript
You might like
从C/C++迁移到PHP——判断字符类型的函数
2006/10/09 PHP
php HandlerSocket的使用
2011/05/02 PHP
php隐藏实际地址的文件下载方法
2015/04/18 PHP
php fread读取文件注意事项
2016/09/24 PHP
PHP与SQL语句常用大全
2016/12/10 PHP
PHP用PDO如何封装简单易用的DB类详解
2017/07/30 PHP
不同浏览器对回车提交表单的处理办法
2010/02/13 Javascript
JQuery插件开发示例代码
2013/11/06 Javascript
js数值计算时使用parseInt进行数据类型转换(jquery)
2014/10/07 Javascript
JavaScript对表格或元素按文本,数字或日期排序的方法
2015/05/26 Javascript
简述JavaScript的正则表达式中test()方法的使用
2015/06/16 Javascript
JavaScript小技巧整理篇(非常全)
2016/01/26 Javascript
IE下JS保存图片的简单实例
2016/07/15 Javascript
js实现延迟加载的几种方法
2017/04/24 Javascript
vue与iframe之间的信息交互的实现
2020/04/08 Javascript
[01:13:01]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第三场
2018/04/05 DOTA
python逐行读取文件内容的三种方法
2014/01/20 Python
python 3.5下xadmin的使用及修复源码bug
2017/05/10 Python
Win10系统下安装labelme及json文件批量转化方法
2019/07/30 Python
Python数据可视化 pyecharts实现各种统计图表过程详解
2019/08/15 Python
Python 去除字符串中指定字符串
2020/03/05 Python
Pytest测试框架基本使用方法详解
2020/11/25 Python
使用CSS3制作版头动画效果
2020/12/24 HTML / CSS
意大利简约的休闲品牌:Aspesi
2018/02/08 全球购物
新加坡一家在线男士皮具品牌:Faire Leather Co.
2019/12/01 全球购物
Linux的主要特性
2014/10/06 面试题
教师实习的自我鉴定
2013/10/26 职场文书
售后服务承诺书范文
2014/03/26 职场文书
教师竞聘上岗演讲稿
2014/09/03 职场文书
介绍信样本
2015/01/31 职场文书
创先争优活动个人总结
2015/03/04 职场文书
2015年挂职干部工作总结
2015/05/14 职场文书
电影复兴之路观后感
2015/06/02 职场文书
2015年音乐教学工作总结
2015/07/22 职场文书
比较几种Redis集群方案
2021/06/21 Redis
Spring中的@Transactional的工作原理
2022/06/05 Java/Android