举例讲解AngularJS中的模块


Posted in Javascript onJune 17, 2015

 AngularJS支持模块化的方法。模块用于单独的逻辑表示服务,控制器,应用程序等,并保持代码的整洁。我们在单独的js文件中定义的模块,并将其命名为按照module.js文件形式。在这个例子中,我们要创建两个模块。

  1.     Application Module - 用于初始化控制器应用程序
  2.     Controller Module - 用于定义控制器

应用模块

mainApp.js

var mainApp = angular.module("mainApp", []);

在这里,我们已经声明使用 angular.module 功能的应用程序 mainApp 模块。我们已经通过了一个空数组给它。此数组通常包含从属模块。
控制器模块

studentController.js

mainApp.controller("studentController", function($scope) {
  $scope.student = {
   firstName: "Mahesh",
   lastName: "Parashar",
   fees:500,
   subjects:[
     {name:'Physics',marks:70},
     {name:'Chemistry',marks:80},
     {name:'Math',marks:65},
     {name:'English',marks:75},
     {name:'Hindi',marks:67}
   ],
   fullName: function() {
     var studentObject;
     studentObject = $scope.student;
     return studentObject.firstName + " " + studentObject.lastName;
   }
  };
});

在这里,我们已经声明采用studentController模块的mainApp.controller功能的控制器。
使用模块

<div ng-app="mainApp" ng-controller="studentController">
..
<script src="mainApp.js"></script>
<script src="studentController.js"></script>

在这里,我们使用 ng-app 指令和控制器采用ng-controller指令应用模块。我们已经在主要的HTML页面导入mainApp.js和studentController.js。
示例

下面的例子将展示上述所有模块。

testAngularJS.htm

<html>
  <head>
 <title>Angular JS Modules</title>
 <style>
 table, th , td {
  border: 1px solid grey;
  border-collapse: collapse;
  padding: 5px;
 }
 table tr:nth-child(odd) {
  background-color: #f2f2f2;
 }
 table tr:nth-child(even) {
  background-color: #ffffff;
 }
 </style>
 </head>
 <body>
 <h2>AngularJS Sample Application</h2>
 <div ng-app="mainApp" ng-controller="studentController">
 <table border="0">
 <tr><td>Enter first name:</td><td><input type="text" ng-model="student.firstName"></td></tr>
 <tr><td>Enter last name: </td><td><input type="text" ng-model="student.lastName"></td></tr>
 <tr><td>Name: </td><td>{{student.fullName()}}</td></tr>
 <tr><td>Subject:</td><td>
 <table>
  <tr>
    <th>Name</th>
    <th>Marks</th>
  </tr>
  <tr ng-repeat="subject in student.subjects">
    <td>{{ subject.name }}</td>
    <td>{{ subject.marks }}</td>
  </tr>
 </table>
 </td></tr>
 </table>
 </div>
 <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script>
 <script src="mainApp.js"></script>
 <script src="studentController.js"></script>
</body>
</html>

mainApp.js

var mainApp = angular.module("mainApp", []);

studentController.js

mainApp.controller("studentController", function($scope) {
  $scope.student = {
   firstName: "Mahesh",
   lastName: "Parashar",
   fees:500,
   subjects:[
     {name:'Physics',marks:70},
     {name:'Chemistry',marks:80},
     {name:'Math',marks:65},
     {name:'English',marks:75},
     {name:'Hindi',marks:67}
   ],
   fullName: function() {
     var studentObject;
     studentObject = $scope.student;
     return studentObject.firstName + " " + studentObject.lastName;
   }
  };
});

输出

在Web浏览器打开textAngularJS.htm。看到结果如下。

举例讲解AngularJS中的模块

Javascript 相关文章推荐
JavaScript开发时的五个注意事项
Dec 08 Javascript
JS 的应用开发初探(mootools)
Dec 19 Javascript
js setTimeout opener的用法示例详解
Oct 23 Javascript
jquery获取元素值的方法(常见的表单元素)
Nov 15 Javascript
jQuery对指定元素中指定字符串进行替换的方法
Mar 17 Javascript
简单实现异步编程promise模式
Jul 31 Javascript
Angularjs中$http以post请求通过消息体传递参数的实现方法
Aug 05 Javascript
angular源码学习第一篇 setupModuleLoader方法
Oct 20 Javascript
使用重写url机制实现验证码换一张功能
Aug 01 Javascript
JS简单数组排序操作示例【sort方法】
May 17 Javascript
Openlayers绘制地图标注
Sep 28 Javascript
利用 JavaScript 实现并发控制的示例代码
Dec 31 Javascript
简介AngularJS的HTML DOM支持情况
Jun 17 #Javascript
在Ubuntu系统上安装Ghost博客平台的教程
Jun 17 #Javascript
JavaScript AOP编程实例
Jun 16 #Javascript
js+HTML5基于过滤器从摄像头中捕获视频的方法
Jun 16 #Javascript
动态加载jQuery的方法
Jun 16 #Javascript
详解AngularJS中的表格使用
Jun 16 #Javascript
js+HTML5实现视频截图的方法
Jun 16 #Javascript
You might like
PHP 程序授权验证开发思路
2009/07/09 PHP
PHP获取ip对应地区和使用网络类型的方法
2015/03/11 PHP
护卫神php套件 php版本升级方法(php5.5.24)
2015/05/10 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
Thinkphp5 如何隐藏入口文件index.php(URL重写)
2019/10/16 PHP
setTimeout和setInterval的浏览器兼容性分析
2007/02/27 Javascript
js之事件冒泡和事件捕获详细介绍
2013/10/28 Javascript
jQuery中attr()和prop()在修改checked属性时的区别
2014/07/18 Javascript
Javascript显示和隐藏ul列表的方法
2015/07/15 Javascript
jquery拖拽排序简单实现方法(效果增强版)
2016/02/16 Javascript
JS简单设置下拉选择框默认值的方法
2016/08/20 Javascript
浅谈Angular中ngModel的$render
2016/10/24 Javascript
深入理解Angularjs中的$resource服务
2016/12/31 Javascript
URL中“#” “?” &amp;“”号的作用浅析
2017/02/04 Javascript
Linux CentOS系统下安装node.js与express的方法
2017/04/01 Javascript
Javascript获取某个月的天数
2018/05/30 Javascript
JS 中可以提升幸福度的小技巧(可以识别更多另类写法)
2018/07/28 Javascript
JavaScript使用递归和循环实现阶乘的实例代码
2018/08/28 Javascript
vue中的v-if和v-show的区别详解
2019/09/01 Javascript
vue 根据选择条件显示指定参数的例子
2019/11/09 Javascript
node 版本切换的实现
2020/02/02 Javascript
vue data变量相互赋值后被实时同步的解决步骤
2020/08/05 Javascript
[51:15]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-GAMING
2014/05/22 DOTA
[03:55]DOTA2完美大师赛选手传记——LFY.MONET
2017/11/18 DOTA
[06:48]DOTA2-DPC中国联赛2月26日Recap集锦
2021/03/11 DOTA
深入理解Python中的元类(metaclass)
2015/02/14 Python
Python unittest单元测试openpyxl实现过程解析
2020/05/27 Python
用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)
2020/06/04 Python
pandas使用函数批量处理数据(map、apply、applymap)
2020/11/27 Python
建筑设计学生的自我评价
2014/01/16 职场文书
报名委托书
2015/01/29 职场文书
5.12护士节活动总结
2015/02/10 职场文书
学生通报表扬范文
2015/05/04 职场文书
素质教育培训心得体会
2016/01/19 职场文书
Redis分布式锁Redlock的实现
2021/08/07 Redis
MySQL一劳永逸永久支持输入中文的方法实例
2022/08/05 MySQL