举例讲解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 相关文章推荐
javascript parseInt 大改造
Sep 27 Javascript
关于用Jquery的height()、width()计算动态插入的IMG标签的宽高的问题
Dec 08 Javascript
javascript模块化简单解析
Apr 07 Javascript
浅谈AngularJs指令之scope属性详解
Oct 24 Javascript
前端JS面试中常见的算法问题总结
Dec 23 Javascript
AngularJS表格样式简单设置方法示例
Mar 03 Javascript
使用javascript函数编写简单银行取钱存钱流程
May 26 Javascript
JavaScript Math对象和调试程序的方法分析
May 13 Javascript
json字符串对象转换代码实例
Sep 28 Javascript
解决包含在label标签下的checkbox在ie8及以下版本点击事件无效果兼容的问题
Oct 27 Javascript
Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法
Dec 25 Vue.js
k8s node节点重新加入master集群的实现
Feb 22 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
模仿OSO的论坛(一)
2006/10/09 PHP
发布一个用PHP fsockopen写的HTTP下载的类
2007/02/22 PHP
PHP 信号管理知识整理汇总
2017/02/19 PHP
PHP PDOStatement::rowCount讲解
2019/02/01 PHP
Javascript String.replace的妙用
2009/09/08 Javascript
jQuery.ajax 用户登录验证代码
2010/10/29 Javascript
jquery 查找select ,并触发事件的实现代码
2011/03/30 Javascript
js中eval()函数和trim()去掉字符串左右空格应用
2013/02/02 Javascript
jquery获取元素值的方法(常见的表单元素)
2013/11/15 Javascript
不使用ajax实现无刷新提交表单
2014/12/21 Javascript
jQuery DOM插入节点操作指南
2015/03/03 Javascript
JS和css实现检测移动设备方向的变化并判断横竖屏幕
2015/05/25 Javascript
JavaScript省市区三级联动菜单效果
2016/09/21 Javascript
jQuery EasyUI ProgressBar进度条组件
2017/02/28 Javascript
JavaScript用200行代码制作打飞机小游戏实例
2017/06/21 Javascript
基于JS实现移动端左滑删除功能
2017/07/28 Javascript
老生常谈js数据类型
2017/08/03 Javascript
webpack打包react项目的实现方法
2018/06/21 Javascript
Vue2.0学习系列之项目上线的方法步骤(图文)
2018/09/25 Javascript
微信小程序聊天功能的示例代码
2020/01/13 Javascript
JavaScript基于用户照片姓名生成海报
2020/05/29 Javascript
Python中的Matplotlib模块入门教程
2015/04/15 Python
requests和lxml实现爬虫的方法
2017/06/11 Python
Python标准模块--ContextManager上下文管理器的具体用法
2017/11/27 Python
浅谈Python里面None True False之间的区别
2020/07/09 Python
Visual Studio Code搭建django项目的方法步骤
2020/09/17 Python
python解包概念及实例
2021/02/17 Python
python 使用openpyxl读取excel数据
2021/02/18 Python
python如何实现递归转非递归
2021/02/25 Python
Ticketmaster意大利:音乐会、节日、艺术和剧院的官方门票
2019/12/23 全球购物
Fenty Beauty官网:蕾哈娜创立的美妆品牌
2021/01/07 全球购物
优秀党员获奖感言
2014/02/18 职场文书
求职信格式要求
2014/05/23 职场文书
分公司总经理岗位职责
2014/07/30 职场文书
2014年人民警察入党思想汇报
2014/10/12 职场文书
python解析json数据
2022/04/29 Python