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分析、压缩工具 JavaScript Analyser
Nov 30 Javascript
js用闭包遍历树状数组的方法
Mar 19 Javascript
JS组件Bootstrap Select2使用方法详解
Apr 17 Javascript
详述JavaScript实现继承的几种方式(推荐)
Mar 22 Javascript
jQuery获取file控件中图片的宽高与大小
Aug 04 Javascript
基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)
Sep 02 Javascript
如何开发出更好的JavaScript模块
Dec 22 Javascript
JS实现的倒计时恢复按钮点击功能【可用于协议阅读倒计时】
Apr 19 Javascript
node使用promise替代回调函数
May 07 Javascript
10行代码实现微信小程序滑动tab切换
Dec 28 Javascript
聊聊鉴权那些事(推荐)
Aug 22 Javascript
世界上最短的数字判断js代码
Sep 09 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面向对象全攻略 (三)特殊的引用“$this”的使用
2009/09/30 PHP
推荐一本PHP程序猿都应该拜读的书
2014/12/31 PHP
thinkPHP分页功能实例详解
2017/05/05 PHP
微信公众平台开发教程②微信端分享功能图文详解
2019/04/10 PHP
php计数排序算法的实现代码(附四个实例代码)
2020/03/31 PHP
插件:检测javascript的内存泄漏
2007/03/04 Javascript
JavaScript arguments 多参传值函数
2010/10/24 Javascript
菜鸟学习JavaScript小实验之函数引用
2010/11/17 Javascript
加载 Javascript 最佳实践
2011/10/30 Javascript
ajax处理php返回json数据的实例代码
2013/01/24 Javascript
方便实用的jQuery checkbox复选框全选功能简单实例
2013/10/09 Javascript
jquery上传插件fineuploader上传文件使用方法(jquery图片上传插件)
2013/12/05 Javascript
js树插件zTree获取所有选中节点数据的方法
2015/01/28 Javascript
jquery实现点击label的同时触发文本框点击事件的方法
2015/06/05 Javascript
简单介绍jsonp 使用小结
2016/01/27 Javascript
用js实现博客打赏功能
2016/10/24 Javascript
Cookbook组件形式:优化 Vue 组件的运行时性能
2018/11/25 Javascript
后台使用freeMarker和前端使用vue的方法及遇到的问题
2019/06/13 Javascript
JavaScript跳出循环的三种方法(break, return, continue)
2019/07/30 Javascript
[49:28]VP vs Optic 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python实现监控windows服务并自动启动服务示例
2014/04/17 Python
python中string模块各属性以及函数的用法介绍
2016/05/30 Python
Python八大常见排序算法定义、实现及时间消耗效率分析
2018/04/27 Python
tensorflow 输出权重到csv或txt的实例
2018/06/14 Python
python通过Windows下远程控制Linux系统
2018/06/20 Python
python使用tcp实现局域网内文件传输
2020/03/20 Python
python实现倒计时小工具
2019/07/29 Python
python如何从文件读取数据及解析
2019/09/19 Python
纯CSS3实现地球自转实现代码(图文教程附送源码)
2012/12/26 HTML / CSS
会计师事务所审计实习自我鉴定
2013/09/20 职场文书
技校教师求职简历的自我评价
2013/10/20 职场文书
2015年八一建军节演讲稿
2015/03/19 职场文书
入学证明
2015/06/23 职场文书
pandas数值排序的实现实例
2021/07/25 Python
python可视化之颜色映射详解
2021/09/15 Python
Python中字符串对象语法分享
2022/02/24 Python