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验证Checkbox是否选中的代码 推荐
Sep 04 Javascript
js arguments对象应用介绍
Nov 28 Javascript
巧用局部变量提升javascript性能
Feb 24 Javascript
AngularJS入门教程之控制器详解
Jul 27 Javascript
jQuery制作input提示内容(兼容IE8以上)
Jul 05 jQuery
echarts学习笔记之图表自适应问题详解
Nov 22 Javascript
vue+element的表格实现批量删除功能示例代码
Aug 17 Javascript
vue.js实现会动的简历(包含底部导航功能,编辑功能)
Apr 08 Javascript
微信小程序事件对象中e.target和e.currentTarget的区别详解
May 08 Javascript
JavaScript判断对象和数组的两种方法
May 31 Javascript
JavaScript实现简易聊天对话框(加滚动条)
Feb 10 Javascript
JavaScript实现下拉列表
Jan 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
PHP给文字内容中的关键字进行套红处理
2016/04/12 PHP
Docker配置PHP开发环境教程
2016/12/21 PHP
解决laravel session失效的问题
2019/10/14 PHP
File文件控件,选中文件(图片,flash,视频)即立即预览显示
2009/04/09 Javascript
js 鼠标拖动对象 可让任何div实现拖动效果
2009/11/09 Javascript
JS弹出层单纯的绝对定位居中示例代码
2014/02/18 Javascript
利用jQuery实现可以编辑的表格
2014/05/26 Javascript
加随机数引入脚本不让浏览器读取缓存
2014/09/04 Javascript
深入理解JavaScript系列(27):设计模式之建造者模式详解
2015/03/03 Javascript
13个PHP函数超实用
2015/10/21 Javascript
详解javascript跨浏览器事件处理程序
2016/03/27 Javascript
jQuery文件上传控件 Uploadify 详解
2016/06/20 Javascript
JavaScript实现同一个页面打开多张图片
2016/12/29 Javascript
node.js中express-session配置项详解
2017/05/31 Javascript
老生常谈Bootstrap媒体对象
2017/07/06 Javascript
使用react-router4.0实现重定向和404功能的方法
2017/08/28 Javascript
vue父组件向子组件动态传值的两种方法
2017/11/11 Javascript
一步步教会你微信小程序的登录鉴权
2018/04/09 Javascript
Vue Element 分组+多选+可搜索Select选择器实现示例
2018/07/23 Javascript
使用Sonarqube扫描Javascript代码的示例
2018/12/26 Javascript
详解Vue之计算属性
2020/06/20 Javascript
VUE和Antv G6实现在线拓扑图编辑操作
2020/10/28 Javascript
js实现筛选功能
2020/11/24 Javascript
一个简单的python程序实例(通讯录)
2013/11/29 Python
使用PyV8在Python爬虫中执行js代码
2017/02/16 Python
Python使用matplotlib和pandas实现的画图操作【经典示例】
2018/06/13 Python
python学习--使用QQ邮箱发送邮件代码实例
2019/04/16 Python
Python OpenCV视频截取并保存实现代码
2019/11/30 Python
Python 日期与时间转换的方法
2020/08/01 Python
Python代码注释规范代码实例解析
2020/08/14 Python
AmazeUI 图标的示例代码
2020/08/13 HTML / CSS
实习生的自我鉴定范文欣赏
2013/11/20 职场文书
机电专业毕业生自我鉴定2014
2014/10/04 职场文书
群众路线查摆问题整改措施思想汇报
2014/10/10 职场文书
2014教师年度工作总结
2014/11/10 职场文书
信用卡工资证明范本
2015/06/19 职场文书