举例讲解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 相关文章推荐
js获取变量
Aug 24 Javascript
HTML代码中标签的全部属性 中文注释说明
Mar 26 Javascript
jQuery 表单验证扩展(四)
Oct 20 Javascript
js清空form表单中的内容示例
May 20 Javascript
window.open()实现post传递参数
Mar 12 Javascript
jQuery实现点击按钮弹出可关闭层的浮动层插件
Sep 19 Javascript
Base64(二进制)图片编码解析及在各种浏览器的兼容性处理
Feb 09 Javascript
js实现手机发送验证码功能
Mar 13 Javascript
vue-router配合ElementUI实现导航的实例
Feb 11 Javascript
基于vue通用表单解决方案的思考与分析
Mar 16 Javascript
详解Vue.js 响应接口
Jul 04 Javascript
JavaScript 声明私有变量的两种方式
Feb 05 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
《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
php遍历目录与文件夹的多种方法详解
2013/11/14 PHP
微信公众平台接口开发入门示例
2014/12/24 PHP
分享十五个最佳jQuery 幻灯插件和教程
2010/03/27 Javascript
js跨域问题之跨域iframe自适应大小实现代码
2010/07/17 Javascript
jQuery)扩展jQuery系列之一 模拟alert,confirm(一)
2010/12/04 Javascript
基于jquery的横向滚动条(滑动条)
2011/02/24 Javascript
js简单工厂模式用法实例
2015/06/30 Javascript
jquery获取多个checkbox的值异步提交给php
2015/07/07 Javascript
Bootstrap下拉菜单Dropdowns的实现代码
2017/03/17 Javascript
Vue中组件之间数据的传递的示例代码
2017/09/08 Javascript
jquery ajaxfileupload异步上传插件
2017/11/21 jQuery
Chart.js 轻量级HTML5图表绘制工具库(知识整理)
2018/05/22 Javascript
MVVM框架下实现分页功能示例
2018/06/14 Javascript
JavaScript使用享元模式实现文件上传优化操作示例
2018/08/07 Javascript
详解利用eventemitter2实现Vue组件通信
2019/11/04 Javascript
基于Vue实现微前端的示例代码
2020/04/24 Javascript
[28:42]Ti4正赛VG vs NEWBEE1
2014/07/19 DOTA
[02:33]2018DOTA2亚洲邀请赛赛前采访——LGD
2018/04/04 DOTA
[46:42]DOTA2-DPC中国联赛正赛 Aster vs Magma BO3 第二场 3月5日
2021/03/11 DOTA
python统计一个文本中重复行数的方法
2014/11/19 Python
python动态加载包的方法小结
2016/04/18 Python
python爬虫实现教程转换成 PDF 电子书
2017/02/19 Python
人机交互程序 python实现人机对话
2017/11/14 Python
Django实现登录随机验证码的示例代码
2018/06/20 Python
python字符串Intern机制详解
2019/07/01 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
2019/10/17 Python
python接入支付宝的实例操作
2020/07/20 Python
canvas探照灯效果的示例代码
2018/11/30 HTML / CSS
Gweniss格温妮丝女包官网:英国纯手工制造潮流包包品牌
2018/02/07 全球购物
岗位职责范本大全
2015/02/26 职场文书
2015年机关作风和效能建设工作总结
2015/07/23 职场文书
校园广播稿范文
2015/08/19 职场文书
MySQL 使用自定义变量进行查询优化
2021/05/14 MySQL
使用php的mail()函数实现发送邮件功能
2021/06/03 PHP
向Spring IOC 容器动态注册bean实现方式
2022/07/15 Java/Android