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 相关文章推荐
location.href 在IE6中不跳转的解决方法与推荐使用代码
Jul 08 Javascript
菜鸟javascript基础整理1
Dec 06 Javascript
基于JQuery实现CheckBox全选全不选
Jun 27 Javascript
Jquery节点遍历next与nextAll方法使用示例
Jul 22 Javascript
JS中事件冒泡和事件捕获介绍
Dec 13 Javascript
jquery实现拖动效果(代码分享)
Jan 25 Javascript
Vue.js父与子组件之间传参示例
Feb 28 Javascript
Parcel 打包示例(React HelloWorld)
Jan 16 Javascript
微信小程序自定义prompt组件步骤详解
Jun 12 Javascript
在Layui中实现开关按钮的效果实例
Sep 29 Javascript
关于AngularJS中几种Providers的区别总结
May 17 Javascript
微信小程序实现自定义动画弹框/提示框的方法实例
Nov 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
【动漫杂谈】关于《请在T台上微笑》
2020/03/03 日漫
IStream与TStream之间的相互转换
2008/08/01 PHP
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
2012/03/26 PHP
php递归删除目录下的文件但保留的实例分享
2014/05/10 PHP
json 实例详细说明教程
2009/10/31 Javascript
javascript 子窗体父窗体相互传值方法
2010/05/31 Javascript
jquery触发a标签跳转事件示例代码
2013/07/21 Javascript
js中数组(Array)的排序(sort)注意事项说明
2014/01/24 Javascript
百度移动版的url编码解码示例
2014/04/29 Javascript
AngularJS向后端ASP.NET API控制器上传文件
2016/02/03 Javascript
Vue.js快速入门实例教程
2016/10/15 Javascript
JS正则表达式之非捕获分组用法实例分析
2016/12/28 Javascript
详解react-native-fs插件的使用以及遇到的坑
2017/09/12 Javascript
ES6学习教程之对象字面量详解
2017/10/09 Javascript
详解vue-loader在项目中是如何配置的
2018/06/04 Javascript
React Native基础入门之调试React Native应用的一小步
2018/07/02 Javascript
在Vue组件中获取全局的点击事件方法
2018/09/06 Javascript
解决angular双向绑定无效果,ng-model不能正常显示的问题
2018/10/02 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
2019/02/27 Javascript
pycharm设置注释颜色的方法
2018/05/23 Python
TensorFlow实现模型评估
2018/09/07 Python
对django中render()与render_to_response()的区别详解
2018/10/16 Python
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
2018/10/21 Python
利用python实现PSO算法优化二元函数
2019/11/13 Python
python中的RSA加密与解密实例解析
2019/11/18 Python
浅谈tensorflow中Dataset图片的批量读取及维度的操作详解
2020/01/20 Python
python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例
2020/02/28 Python
Python进程Multiprocessing模块原理解析
2020/02/28 Python
捷克玩具商店:Bambule
2019/02/23 全球购物
党委书记岗位职责
2013/11/24 职场文书
中班开学寄语
2014/04/04 职场文书
个性车贴标语
2014/06/24 职场文书
企业党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
社区灵活就业证明
2014/11/03 职场文书
学校食堂食品安全承诺书
2015/04/29 职场文书
教师个人师德工作总结2015
2015/05/12 职场文书