举例讲解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 相关文章推荐
图片按比例缩放函数
Jun 26 Javascript
获取任意Html元素与body之间的偏移距离 offsetTop、offsetLeft (For:IE5+ FF1 )[
Dec 22 Javascript
JavaScript 学习初步 入门教程
Mar 25 Javascript
javascript 设为首页与加入收藏兼容多浏览器代码
Jan 11 Javascript
jQuery层次选择器选择元素使用介绍
Apr 18 Javascript
jQuery浏览器CSS3特写兼容实例
Jan 19 Javascript
Select下拉框模糊查询功能实现代码
Jul 22 Javascript
使用vue-cli+webpack搭建vue开发环境的方法
Dec 22 Javascript
jQuery实现上下滚动公告栏详细代码
Nov 21 jQuery
vuejs简单验证码功能完整示例
Jan 08 Javascript
利用Electron简单撸一个Markdown编辑器的方法
Jun 10 Javascript
在vue中对数组值变化的监听与重新响应渲染操作
Jul 17 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
使用GDB调试PHP代码,解决PHP代码死循环问题
2015/03/02 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
2015/12/21 PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
2016/04/30 PHP
JS创建优美的页面滑动块效果 - Glider.js
2007/09/27 Javascript
jQuery1.6 正式版发布并提供下载
2011/05/05 Javascript
jquery select多选框的左右移动 具体实现代码
2013/07/03 Javascript
设置jsf的选择框h:selectOneMenu为不可编辑状态的方法
2014/01/07 Javascript
js 判断控件获得焦点的示例代码
2014/03/04 Javascript
jquery禁用右键单击功能屏蔽F5刷新
2014/03/17 Javascript
jQuery+ajax实现鼠标单击修改内容的方法
2014/06/27 Javascript
基于HTML5上使用iScroll实现下拉刷新,上拉加载更多
2016/05/21 Javascript
AngularJS轻松实现双击排序的功能
2016/08/30 Javascript
JS实现的手机端精简幻灯片效果
2016/09/05 Javascript
Javascript 事件冒泡机制详细介绍
2016/10/10 Javascript
微信小程序 地图(map)实例详解
2016/11/16 Javascript
js仿微博动态栏功能
2017/02/22 Javascript
JavaScript正则获取地址栏中参数的方法
2017/03/02 Javascript
AngularJs导出数据到Excel的示例代码
2017/08/11 Javascript
轻松玩转BootstrapTable(后端使用SpringMVC+Hibernate)
2017/09/06 Javascript
详解redux异步操作实践
2018/08/15 Javascript
webpack4+Vue搭建自己的Vue-cli项目过程分享
2018/08/29 Javascript
详解Vue webapp项目通过HBulider打包原生APP(vue+webpack+HBulider)
2019/02/02 Javascript
tweenjs缓动算法的使用实例分析
2019/08/26 Javascript
一篇文章带你使用Typescript封装一个Vue组件(简单易懂)
2020/06/05 Javascript
通过实例了解JS执行上下文运行原理
2020/06/17 Javascript
JavaScript实现网页计算器功能
2020/10/29 Javascript
vant-ui AddressEdit地址编辑和van-area的用法说明
2020/11/03 Javascript
[03:49]显微镜下的DOTA2第十五期—VG登基之路完美团
2014/06/24 DOTA
python实现nao机器人手臂动作控制
2019/04/29 Python
Python中BeautifuSoup库的用法使用详解
2019/11/15 Python
Python进程间通信multiprocess代码实例
2020/03/18 Python
《小熊住山洞》教学反思
2014/02/21 职场文书
电脑售后服务承诺书
2014/03/27 职场文书
残疾人小组计划书
2014/04/27 职场文书
反四风对照检查材料思想汇报
2014/09/16 职场文书
德劲DE1105机评
2022/04/05 无线电