举例讲解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 相关文章推荐
一些易混淆且不常用的属性,希望有用
Jan 29 Javascript
js 操作css实现代码
Jun 11 Javascript
使用js对select动态添加和删除OPTION示例代码
Aug 12 Javascript
用js一次改变多个input的readonly属性值的方法
Jun 11 Javascript
JavaScript中的关联数组问题
Mar 04 Javascript
Node.js的Web模板引擎ejs的入门使用教程
Jun 06 Javascript
JS简单获取及显示当前时间的方法
Aug 03 Javascript
jQuery Validate设置onkeyup验证的实例代码
Dec 09 Javascript
深入理解JavaScript中的尾调用(Tail Call)
Feb 07 Javascript
JavaScript定义函数_动力节点Java学院整理
Jun 27 Javascript
jquery登录的异步验证操作示例
May 09 jQuery
js实现AI五子棋人机大战
May 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
Laravel5.1自定义500错误页面示例
2016/10/09 PHP
PHP排序算法之基数排序(Radix Sort)实例详解
2018/04/21 PHP
JavaScript语法着色引擎(demo及打包文件下载)
2007/06/13 Javascript
调试Javascript代码(浏览器F12及VS中debugger关键字)
2013/01/25 Javascript
Javascript简单实现可拖动的div
2013/10/22 Javascript
node.js中的fs.readlink方法使用说明
2014/12/17 Javascript
Javascript 拖拽雏形(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
简介JavaScript中的getSeconds()方法的使用
2015/06/10 Javascript
IE8下jQuery改变png图片透明度时出现的黑边
2015/08/30 Javascript
jQuery中inArray方法注意事项分析
2016/01/25 Javascript
防止Node.js中错误导致进程阻塞的办法
2016/08/11 Javascript
ajax异步请求详解
2017/01/06 Javascript
BootStrap组件之进度条的基本用法
2017/01/19 Javascript
Vue学习笔记进阶篇之单元素过度
2017/07/19 Javascript
chorme 浏览器记住密码后input黄色背景处理方法(两种)
2017/11/22 Javascript
bmob js-sdk 在vue中的使用教程
2018/01/21 Javascript
AngularJS ui-router刷新子页面路由的方法
2018/07/23 Javascript
element-ui上传一张图片后隐藏上传按钮功能
2019/05/22 Javascript
webpack的tree shaking的实现方法
2019/09/18 Javascript
Node Express用法详解【安装、使用、路由、中间件、模板引擎等】
2020/05/13 Javascript
微信小程序的引导页实现代码
2020/06/24 Javascript
使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例
2014/01/19 Python
python面向对象法实现图书管理系统
2019/04/19 Python
django的聚合函数和aggregate、annotate方法使用详解
2019/07/23 Python
python实现邮件循环自动发件功能
2020/09/11 Python
处理textarea中的换行和空格
2019/12/12 HTML / CSS
测量实习生自我鉴定
2013/09/19 职场文书
集团薪酬管理制度
2014/01/13 职场文书
县优秀教师事迹材料
2014/01/31 职场文书
党员组织关系介绍信
2014/02/13 职场文书
公司员工离职证明书
2014/10/04 职场文书
2014年小学教学工作总结
2014/11/13 职场文书
东京审判观后感
2015/06/01 职场文书
大学生就业指导课心得体会
2016/01/15 职场文书
毕业生求职自荐信(2016最新版)
2016/01/28 职场文书
Mysql文件存储图文详解
2021/06/01 MySQL