举例讲解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 相关文章推荐
jQuery实现的Tab滑动选项卡及图片切换(多种效果)小结
Sep 14 Javascript
jQuery实现简单的图片查看器
Sep 11 Javascript
基于javascript实现图片滑动效果
May 07 Javascript
利用css+原生js制作简单的钟表
Apr 07 Javascript
arcgis for js栅格图层叠加(Raster Layer)问题
Nov 22 Javascript
jQuery实现弹窗下底部页面禁止滑动效果
Dec 19 jQuery
深入浅析var,let,const的异同点
Aug 07 Javascript
微信小程序缓存过期时间的使用详情
May 12 Javascript
Bootstrap实现省市区三级联动(亲测可用)
Jul 26 Javascript
LayUI动态设置checkbox不显示的解决方法
Sep 02 Javascript
Node.js开发之套接字(socket)编程入门示例
Nov 05 Javascript
vue整合百度地图显示指定地点信息
Apr 06 Vue.js
简介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
BBS(php &amp; mysql)完整版(四)
2006/10/09 PHP
CURL状态码列表(详细)
2013/06/27 PHP
php实现执行某一操作时弹出确认、取消对话框
2013/12/30 PHP
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
2014/05/15 PHP
PHP中使用asort进行中文排序失效的问题处理
2014/08/18 PHP
9个经典的PHP代码片段分享
2014/12/18 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
用window.location.href实现刷新另个框架页面
2007/03/07 Javascript
extjs grid取到数据而不显示的解决
2008/12/29 Javascript
js中 关于undefined和null的区别介绍
2013/04/16 Javascript
JavaScript使用DeviceOne开发实战(四)仿优酷视频应用
2015/12/02 Javascript
JS不用正则验证输入的字符串是否为空(包含空格)的实现代码
2016/06/14 Javascript
JavaScript中this的四个绑定规则总结
2016/09/26 Javascript
通过jquery toggleClass()属性制作文章段落更改背景颜色
2018/05/21 jQuery
详解es6超好用的语法糖Decorator
2018/08/01 Javascript
微信小程序支付PHP代码
2018/08/23 Javascript
JS实现数组去重及数组内对象去重功能示例
2019/02/02 Javascript
javascript面向对象程序设计实践常用知识点总结
2019/07/29 Javascript
js实现盒子拖拽动画效果
2020/08/09 Javascript
python实现代码行数统计示例分享
2014/02/10 Python
在Pycharm中自动添加时间日期作者等信息的方法
2019/01/16 Python
使用Python将Mysql的查询数据导出到文件的方法
2019/02/25 Python
numpy库ndarray多维数组的维度变换方法(reshape、resize、swapaxes、flatten)
2020/04/28 Python
Keras 在fit_generator训练方式中加入图像random_crop操作
2020/07/03 Python
HTML5 Canvas阴影使用方法实例演示
2013/08/02 HTML / CSS
基于HTML5的齿轮动画特效
2016/02/29 HTML / CSS
Html5 webRTC简单实现视频调用的示例代码
2020/09/23 HTML / CSS
路政管理专业个人自荐信范文
2013/11/30 职场文书
《美丽的小兴安岭》教学反思
2014/02/26 职场文书
小学校长竞聘演讲稿
2014/05/16 职场文书
中国文明网向国旗敬礼活动精彩寄语2014
2014/09/27 职场文书
外国人来华邀请函
2015/01/31 职场文书
绵山导游词
2015/02/05 职场文书
制作能在nginx和IIS中使用的ssl证书
2021/06/21 Servers
Pandas 稀疏数据结构的实现
2021/07/25 Python
基于Android10渲染Surface的创建过程
2022/08/14 Java/Android