举例讲解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 相关文章推荐
不错的asp中显示新闻的功能
Oct 13 Javascript
jQuery的链式调用浅析
Dec 03 Javascript
jQuery1.6 类型判断实现代码
Sep 01 Javascript
ExtJS4利根据登录后不同的角色分配不同的树形菜单
May 02 Javascript
深入理解JavaScript的React框架的原理
Jul 02 Javascript
JS实现网页上随滚动条滚动的层效果代码
Nov 04 Javascript
JavaScript实现简单获取当前网页网址的方法
Nov 09 Javascript
javascript 删除数组元素和清空数组的简单方法
Feb 24 Javascript
html+javascript+bootstrap实现层级多选框全层全选和多选功能
Mar 09 Javascript
checkbox在vue中的用法小结
Nov 13 Javascript
JavaScript遍历数组和对象的元素简单操作示例
Jul 09 Javascript
浅谈JavaScript中this的指向更改
Jul 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来处理多个提交任务
2008/05/08 PHP
Yii 使用intervention/image拓展实现图像处理功能
2019/06/22 PHP
javascript 动态设置已知select的option的value值的代码
2009/12/16 Javascript
JavaScript学习笔记(十七)js 优化
2010/02/04 Javascript
JavaScript 设计模式 安全沙箱模式
2010/09/24 Javascript
jquery form表单序列化为对象的示例代码
2014/03/05 Javascript
Node.js实现简单聊天服务器
2014/06/20 Javascript
jQuery文字轮播特效
2017/02/12 Javascript
JavaScript实现全选取消效果
2017/12/14 Javascript
jQuery+SpringMVC中的复选框选择与传值实例
2018/01/08 jQuery
详解基于DllPlugin和DllReferencePlugin的webpack构建优化
2018/06/28 Javascript
用npm安装vue和vue-cli,并使用webpack创建项目的方法
2018/09/28 Javascript
Vue动态创建注册component的实例代码
2019/06/14 Javascript
微信小程序在其他页面监听globalData中值的变化
2019/07/15 Javascript
微信小程序实现侧边栏分类
2019/10/21 Javascript
python抓取某汽车网数据解析html存入excel示例
2013/12/04 Python
python读写ini文件示例(python读写文件)
2014/03/25 Python
pycharm 使用心得(六)进行简单的数据库管理
2014/06/06 Python
Python学习之Django的管理界面代码示例
2018/02/10 Python
浅谈Tensorflow模型的保存与恢复加载
2018/04/26 Python
Python for循环中的陷阱详解
2018/07/13 Python
Python中常见的数制转换有哪些
2020/05/27 Python
django使用graphql的实例
2020/09/02 Python
详解如何使用Pytest进行自动化测试
2021/01/14 Python
ALDO英国官网:加拿大女鞋品牌
2018/02/19 全球购物
主管职责范文
2013/11/09 职场文书
试用期自我鉴定范文
2014/03/20 职场文书
精神文明单位申报材料
2014/05/02 职场文书
优秀大学生自荐信
2015/03/26 职场文书
2015年爱国卫生月活动总结
2015/03/26 职场文书
2015年图书馆个人工作总结
2015/05/26 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书
Java基础之this关键字的使用
2021/06/30 Java/Android
php实例化对象的实例方法
2021/11/17 PHP
一篇文章告诉你如何实现Vue前端分页和后端分页
2022/02/18 Vue.js
python 镜像环境搭建总结
2022/09/23 Python