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实现检测指定目录是否存在的方法
Jan 12 Javascript
jquery插件jquery倒计时插件分享
Dec 27 Javascript
关于JavaScript命名空间的一些心得
Jun 07 Javascript
Angular ng-repeat 对象和数组遍历实例
Sep 14 Javascript
微信小程序 icon组件详细及实例代码
Oct 25 Javascript
jQuery-mobile事件监听与用法详解
Nov 23 Javascript
Bootstrap响应式表格详解
May 23 Javascript
Webpack实战加载SVG的方法
Dec 26 Javascript
Angular使用过滤器uppercase/lowercase实现字母大小写转换功能示例
Mar 27 Javascript
jQuery超简单遮罩层实现方法示例
Sep 06 jQuery
ES6 class类链式继承,实例化及react super(props)原理详解
Feb 15 Javascript
django简单的前后端分离的数据传输实例 axios
May 18 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
PHP写的加密函数,支持私人密钥(详细介绍)
2013/06/09 PHP
ThinkPHP查询返回简单字段数组的方法
2014/08/25 PHP
smarty中常用方法实例总结
2015/08/07 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
2016/12/19 PHP
网站页面自动跳转实现方法PHP、JSP(上)
2010/08/01 Javascript
jquery的键盘事件修改代码
2011/02/24 Javascript
js动态生成指定行数的表格
2013/07/11 Javascript
node.js中使用q.js实现api的promise化
2014/09/17 Javascript
javascript作用域链(Scope Chain)用法实例解析
2015/11/30 Javascript
jQuery中iframe的操作(点击按钮新增窗口)
2016/04/20 Javascript
JSONP基础知识详解
2017/03/19 Javascript
js实现本地图片文件拖拽效果
2017/07/18 Javascript
一步步教你利用Canvas对图片进行处理
2017/09/19 Javascript
vue实现个人信息查看和密码修改功能
2018/05/06 Javascript
Nodejs对postgresql基本操作的封装方法
2019/02/20 NodeJs
监控微信小程序中的慢HTTP请求过程详解
2019/07/05 Javascript
Vue.js路由实现选项卡简单实例
2019/07/24 Javascript
JavaScript实现答题评分功能页面
2020/06/24 Javascript
vue@cli3项目模板怎么使用public目录下的静态文件
2020/07/07 Javascript
[01:35:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第一场 1月18日
2021/03/11 DOTA
Python字符串处理实例详解
2017/05/18 Python
virtualenv实现多个版本Python共存
2017/08/21 Python
python-opencv在有噪音的情况下提取图像的轮廓实例
2017/08/30 Python
Odoo中如何生成唯一不重复的序列号详解
2018/02/10 Python
火车票抢票python代码公开揭秘!
2018/03/08 Python
浅谈python中str字符串和unicode对象字符串的拼接问题
2018/12/04 Python
Python计算指定日期是今年的第几天(三种方法)
2020/03/26 Python
Python GUI编程学习笔记之tkinter控件的介绍及基本使用方法详解
2020/03/30 Python
Hunkemöller西班牙:欧洲最大的内衣连锁店
2018/08/15 全球购物
绘画设计学生的个人自我评价
2013/09/20 职场文书
中专自我鉴定范文
2013/10/16 职场文书
商务经理岗位职责
2014/08/03 职场文书
毕业生自荐材料范文
2014/12/30 职场文书
考察邀请函范文
2015/01/31 职场文书
2015年宣传部个人工作总结
2015/05/14 职场文书
幼儿园保教工作总结2015
2015/10/15 职场文书