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 相关文章推荐
JS自动适应的图片弹窗实例
Jun 29 Javascript
jQuery中click事件用法实例
Dec 26 Javascript
基于jQuery实现自动轮播旋转木马特效
Nov 02 Javascript
AngularJS ng-bind-template 指令详解
Jul 30 Javascript
jQuery版AJAX简易封装代码
Sep 14 Javascript
基于JavaScript实现窗口拖动效果
Jan 18 Javascript
Javascript中八种遍历方法的执行速度深度对比
Apr 25 Javascript
BootStrap表单控件之文本域textarea
May 23 Javascript
详解用webpack把我们的业务模块分开打包的方法
Jul 20 Javascript
SeaJS中use函数用法实例分析
Oct 10 Javascript
JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法
Apr 13 Javascript
vue 中 get / delete 传递数组参数方法
Mar 23 Vue.js
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正则走开
2008/03/15 PHP
php ftp文件上传函数(基础版)
2010/06/03 PHP
在项目中寻找代码的坏命名
2012/07/14 PHP
thinkphp3.0 模板中函数的使用
2012/11/13 PHP
解析php mysql 事务处理回滚操作(附实例)
2013/08/05 PHP
php判断数组中是否存在指定键(key)的方法
2015/03/17 PHP
Ajax+PHP实现的分类列表框功能示例
2019/02/11 PHP
jquery 输入框数字限制插件
2009/11/10 Javascript
JQuery select标签操作代码段
2010/05/16 Javascript
javascript Array数组对象的扩展函数代码
2010/05/22 Javascript
js更优雅的兼容
2010/08/12 Javascript
jquery ajax,ashx,json的用法总结
2014/02/12 Javascript
一个html5播放视频的video控件只支持android的默认格式mp4和3gp
2014/05/08 Javascript
基于JavaScript实现网页倒计时自动跳转代码
2015/12/28 Javascript
Node.js配合node-http-proxy解决本地开发ajax跨域问题
2016/08/31 Javascript
微信小程序上传图片实例
2018/05/28 Javascript
vue路由切换时取消之前的所有请求操作
2020/09/01 Javascript
Vue仿Bibibili首页的问题
2021/01/21 Vue.js
DataFrame中的object转换成float的方法
2018/04/10 Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
2019/06/27 Python
python使用Pandas库提升项目的运行速度过程详解
2019/07/12 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
2020/03/30 Python
Python unittest单元测试框架实现参数化
2020/04/29 Python
html5超简单的localStorage实现记住密码的功能实现
2017/09/07 HTML / CSS
AmazeUI 评论列表的实现示例
2020/08/13 HTML / CSS
英国当代时尚和街头服饰店:18montrose
2018/12/15 全球购物
Sql面试题
2013/03/20 面试题
大学生职业规划前言模板
2013/12/27 职场文书
党员党性分析材料
2014/02/17 职场文书
论文指导教师评语
2014/04/28 职场文书
教师竞聘上岗演讲稿
2014/09/03 职场文书
高中校园广播稿
2014/10/21 职场文书
涉外离婚协议书怎么写
2014/11/20 职场文书
2014年班务工作总结
2014/12/02 职场文书
python 中的jieba分词库
2021/11/23 Python
MySQL数据库查询进阶之多表查询详解
2022/04/08 MySQL