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实现的鼠标链接提示效果生成器代码
Jun 28 Javascript
javascript 隔行换色函数代码
Oct 24 Javascript
JavaScript中的数组特性介绍
Dec 30 Javascript
运行Node.js的IIS扩展iisnode安装配置笔记
Mar 02 Javascript
JS实现兼容性好,自动置顶的淘宝悬浮工具栏效果
Sep 18 Javascript
jQuery绑定事件监听bind和移除事件监听unbind用法实例详解
Jan 19 Javascript
JS与jQuery实现隔行变色的方法
Sep 09 Javascript
使用原生的javascript来实现轮播图
Feb 24 Javascript
js字符串与Unicode编码互相转换
May 17 Javascript
关于vue-router的那些事儿
May 23 Javascript
vue cli 3.0 搭建项目的图文教程
May 17 Javascript
js实现简单五子棋游戏
May 28 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
cache_lite试用
2007/02/14 PHP
php去除换行符的方法小结(PHP_EOL变量的使用)
2013/02/16 PHP
一个PHP的ZIP压缩类分享
2014/05/04 PHP
php分页函数完整实例代码
2014/09/22 PHP
PHP执行linux命令6个函数代码实例
2020/11/24 PHP
jquery获取input表单值的代码
2010/04/19 Javascript
缓动函数requestAnimationFrame 更好的实现浏览器经动画
2012/12/07 Javascript
javascript unicode与GBK2312(中文)编码转换方法
2013/11/14 Javascript
js操作输入框提示信息且响应鼠标事件
2014/03/25 Javascript
JavaScript中获取纯正的undefined的方法
2016/03/06 Javascript
jQuery事件绑定on()与弹窗实现代码
2016/04/28 Javascript
vue2.0数据双向绑定与表单bootstrap+vue组件
2017/02/27 Javascript
React-Native中禁用Navigator手势返回的示例代码
2017/09/09 Javascript
简单通过settimeout看javascript的运行机制
2019/05/10 Javascript
Vue.js实现大转盘抽奖总结及实现思路
2019/10/09 Javascript
Javascript实现贪吃蛇小游戏(含详细注释)
2020/10/23 Javascript
[03:15]2014DOTA2国际邀请赛 专访国士无双信心满满
2014/07/12 DOTA
python将文本转换成图片输出的方法
2015/04/28 Python
python装饰器简介---这一篇也许就够了(推荐)
2019/04/01 Python
python使用mitmproxy抓取浏览器请求的方法
2019/07/02 Python
python各层级目录下import方法代码实例
2020/01/20 Python
pyqt5实现井字棋的示例代码
2020/12/07 Python
H5最强接口之canvas实现动态图形功能
2019/05/31 HTML / CSS
THE OUTNET美国官网:国际设计师品牌折扣网站
2017/03/07 全球购物
Groupon西班牙官方网站:在线优惠券和交易,节省高达70%
2021/03/13 全球购物
公司活动邀请函
2014/01/24 职场文书
物流专业专科生职业生涯规划书
2014/09/14 职场文书
2014年群众路线教育实践活动整改措施
2014/09/24 职场文书
2015新年联欢晚会开场白
2014/12/14 职场文书
2015年大学团支部工作总结
2015/05/13 职场文书
2015年中学校长工作总结
2015/05/19 职场文书
白银帝国观后感
2015/06/17 职场文书
2015年卫生院健康教育工作总结
2015/07/24 职场文书
素质拓展训练感想
2015/08/07 职场文书
初中生物教学随笔
2015/08/15 职场文书
优质服务标语口号
2015/12/26 职场文书