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 10 Javascript
改版了网上的一个js操作userdata
Apr 27 Javascript
javascript 实现父窗口引用弹出窗口的值的脚本
Aug 07 Javascript
js ondocumentready onmouseover onclick onmouseout 样式
Jul 22 Javascript
加载远程图片时,经常因为缓存而得不到更新的解决方法(分享)
Jun 26 Javascript
JS实现点击按钮控制Div变宽、增高及调整背景色的方法
Aug 05 Javascript
jquery判断密码强度的验证代码
Apr 22 Javascript
JavaScript中iframe实现局部刷新的几种方法汇总
Jan 06 Javascript
js模仿java的Map集合详解
Jan 06 Javascript
基于jquery实现表格内容筛选功能实例解析
May 09 Javascript
jquery属性,遍历,HTML操作方法详解
Sep 17 Javascript
layui关闭层级、简单监听的实例
Sep 06 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使用PDO连接ACCESS数据库
2015/03/05 PHP
PHP中JSON的应用技巧
2015/10/10 PHP
浅谈php://filter的妙用
2019/03/05 PHP
thinkphp5.1框架模板布局与模板继承用法分析
2019/07/19 PHP
收集的一些Array及String原型对象的扩展实现代码
2010/12/05 Javascript
js的正则test,match,exec详细解析
2014/01/29 Javascript
jQuery学习总结之jQuery事件
2014/06/30 Javascript
PHP+mysql+Highcharts生成饼状图
2015/05/04 Javascript
简述Jquery与DOM对象
2015/07/10 Javascript
实例详解ECMAScript5中新增的Array方法
2016/04/05 Javascript
jQuery实现内容定时切换效果完整实例
2016/04/06 Javascript
vue.js内部自定义指令与全局自定义指令的实现详解(利用directive)
2017/07/11 Javascript
JS实现的计数排序与基数排序算法示例
2017/12/04 Javascript
详解微信小程序scroll-view横向滚动的实践踩坑及隐藏其滚动条的实现
2019/03/14 Javascript
使vue实现jQuery调用的两种方法
2019/05/12 jQuery
flask中使用SQLAlchemy进行辅助开发的代码
2013/02/10 Python
用Python进行一些简单的自然语言处理的教程
2015/03/31 Python
python3.4下django集成使用xadmin后台的方法
2017/08/15 Python
pygame实现俄罗斯方块游戏
2018/06/26 Python
python matplotlib画图库学习绘制常用的图
2019/03/19 Python
python实现栅栏加解密 支持密钥加密
2019/03/20 Python
python tkinter canvas 显示图片的示例
2019/06/13 Python
Python 获取numpy.array索引值的实例
2019/12/06 Python
Python使用Pyqt5实现简易浏览器(最新版本测试过)
2020/04/27 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
2020/06/04 Python
学python最电脑配置有要求么
2020/07/05 Python
CSS3 新增选择器的实例
2019/11/13 HTML / CSS
澳大利亚冲浪和时尚服装网上购物:SurfStitch
2017/07/29 全球购物
ESDlife健康生活易:身体检查预订、搜寻及比较
2019/05/10 全球购物
BudgetAir印度:预订航班、酒店和汽车租赁
2019/07/07 全球购物
小学教师自我鉴定
2013/11/07 职场文书
高中英语演讲稿范文
2014/04/24 职场文书
装饰工程师岗位职责
2014/06/08 职场文书
讲文明知礼仪演讲稿
2014/09/13 职场文书
宝宝满月祝酒词
2015/08/10 职场文书
Python爬虫之自动爬取某车之家各车销售数据
2021/06/02 Python