举例讲解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 22 Javascript
xml文档转换工具,附图表例子(hta)
Nov 17 Javascript
jquery isType() 类型判断代码
Feb 14 Javascript
JS编程小常识很有用
Nov 26 Javascript
JS实现遮罩层效果的简单实例
Nov 12 Javascript
jquery与prototype框架的详细对比
Nov 21 Javascript
js格式化时间小结
Nov 03 Javascript
JavaScript中的方法重载实例
Mar 16 Javascript
不得不分享的JavaScript常用方法函数集(下)
Dec 25 Javascript
Vue之mixin全局的用法详解
Aug 22 Javascript
ES6入门教程之let、const的使用方法
Apr 13 Javascript
vuex实现购物车的增加减少移除
Jun 28 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中把对象转换为关联数组代码分享
2015/04/09 PHP
使用PHPWord生成word文档的方法详解
2019/06/06 PHP
PHP安全之register_globals的on和off的区别
2020/07/23 PHP
combox改进版 页面原型参考dojo的,比网上jQuery的那些combox功能强,代码更小
2010/04/15 Javascript
JSON.parse 解析字符串出错的解决方法
2010/07/08 Javascript
javascript实现div的显示和隐藏的小例子
2013/06/25 Javascript
jQuery的animate函数实现图文切换动画效果
2015/05/03 Javascript
Bootstrap每天必学之进度条
2015/11/30 Javascript
JavaScript学习笔记之取数组中最大值和最小值
2016/03/23 Javascript
JS实现队列与堆栈的方法
2016/04/21 Javascript
浅谈js对象的创建和对6种继承模式的理解和遐想
2016/10/16 Javascript
VueJs与ReactJS和AngularJS的异同点
2016/12/12 Javascript
JS碰撞运动实现方法详解
2016/12/15 Javascript
jQuery拖拽通过八个点改变div大小
2020/11/29 Javascript
Vue监听数据对象变化源码
2017/03/09 Javascript
Vue.set()实现数据动态响应的方法
2018/02/07 Javascript
vue.js 双层嵌套for遍历的方法详解, 类似php foreach()
2018/09/07 Javascript
浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑
2020/09/12 Javascript
python实现朴素贝叶斯算法
2018/11/19 Python
Python中dict和set的用法讲解
2019/03/28 Python
Django给admin添加Action的步骤详解
2019/05/01 Python
10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径
2019/08/12 Python
详解使用django-mama-cas快速搭建CAS服务的实现
2019/10/30 Python
Omio波兰:全欧洲低价大巴、火车和航班搜索和比价
2018/02/16 全球购物
印尼购物网站:iLOTTE
2019/10/16 全球购物
乐高瑞士官方商店:LEGO CH
2020/08/16 全球购物
学校元旦晚会方案
2014/02/19 职场文书
环保口号大全
2014/06/12 职场文书
大学生找工作求职信
2014/07/09 职场文书
2014年群众路线教育实践活动整改措施
2014/09/24 职场文书
2015年元旦促销方案书
2014/12/09 职场文书
员工拾金不昧表扬稿
2015/05/05 职场文书
房产证明范本
2015/06/19 职场文书
2015年高三年级组工作总结
2015/07/21 职场文书
导游词之神仙居景区
2019/11/15 职场文书
python中Tkinter 窗口之输入框和文本框的实现
2021/04/12 Python