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 相关文章推荐
用jQuery扩展自写的 UI导航
Jan 13 Javascript
Array.prototype.slice 使用扩展
Jun 09 Javascript
dojo学习第一天 Tab选项卡 实现
Aug 28 Javascript
JS打开新窗口的2种方式
Apr 18 Javascript
JS JSON对象转为字符串的简单实现方法
Nov 18 Javascript
javascript日期格式化方法汇总
Oct 04 Javascript
基于canvas的二维码邀请函生成插件
Feb 14 Javascript
ie下js不执行的几种可能
Feb 28 Javascript
基于vue写一个全局Message组件的实现
Aug 15 Javascript
vue中js判断长时间不操作界面自动退出登录(推荐)
Jan 22 Javascript
在vue中封装方法以及多处引用该方法详解
Aug 14 Javascript
React倒计时功能实现代码——解耦通用
Sep 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 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
2009/01/30 PHP
php一行代码获取文件后缀名实例分析
2014/11/12 PHP
php技巧小结【推荐】
2017/01/19 PHP
实现PHP中session存储及删除变量
2018/10/15 PHP
Array.prototype.slice.apply的使用方法
2010/03/17 Javascript
js输出列表实现代码
2010/09/12 Javascript
JQuery1.6 使用方法三
2011/11/23 Javascript
JavaScript将相对地址转换为绝对地址示例代码
2013/07/19 Javascript
JS实现鼠标点击展开或隐藏表格行的方法
2015/03/03 Javascript
easyui Droppable组件实现放置特效
2015/08/19 Javascript
JSONP跨域请求实例详解
2016/07/04 Javascript
详解javascript立即执行函数表达式IIFE
2017/02/13 Javascript
jquery事件与绑定事件
2017/03/16 Javascript
详解axios 全攻略之基本介绍与使用(GET 与 POST)
2017/09/15 Javascript
移动端(微信等使用vConsole调试console的方法
2019/03/05 Javascript
微信小程序实现禁止分享代码实例
2019/10/19 Javascript
解决antd 下拉框 input [defaultValue] 的值的问题
2020/10/31 Javascript
[09:43]DOTA2每周TOP10 精彩击杀集锦vol.5
2014/06/25 DOTA
[02:26]2018DOTA2亚洲邀请赛赛前采访-Newbee篇
2018/04/03 DOTA
Python天气预报采集器实现代码(网页爬虫)
2012/10/07 Python
python 生成器生成杨辉三角的方法(必看)
2017/04/10 Python
Python cookie的保存与读取、SSL讲解
2020/02/17 Python
python爬虫爬取网页数据并解析数据
2020/09/18 Python
利用简洁的图片预加载组件提升html5移动页面的用户体验
2016/03/11 HTML / CSS
EJB发布WEB服务一般步骤
2012/10/31 面试题
给排水工程师岗位职责
2013/11/21 职场文书
社区党总支书记先进事迹材料
2014/01/24 职场文书
小学生开学感言
2014/02/28 职场文书
化学系大学生自荐信范文
2014/03/01 职场文书
质量保证书怎么写
2015/02/27 职场文书
计算机专业自荐信
2015/03/05 职场文书
研究生给导师的自荐信
2015/03/06 职场文书
2015年加油站工作总结
2015/05/13 职场文书
幼儿园春季开学通知
2015/07/16 职场文书
Golang 实现超大文件读取的两种方法
2021/04/27 Golang
正确使用MySQL INSERT INTO语句
2021/05/26 MySQL