举例讲解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 SELECT单选模拟jQuery.select.js
Nov 12 Javascript
js预载入和JavaScript Image()对象使用介绍
Aug 28 Javascript
js sort 二维数组排序的用法小结
Jan 24 Javascript
jQuery 获取兄弟元素的几种不错方法
May 23 Javascript
使用jquery.qrcode生成彩色二维码实例
Aug 08 Javascript
AngularJS的内置过滤器详解
May 14 Javascript
学JavaScript七大注意事项【必看】
May 04 Javascript
React Router基础使用
Jan 17 Javascript
Angularjs自定义指令Directive详解
May 27 Javascript
Vue实现导航栏点击当前标签变色功能
Aug 19 Javascript
Vue中img的src是动态渲染时不显示的解决
Nov 14 Javascript
jQuery实现穿梭框效果
Jan 19 jQuery
简介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将时间差转换为字符串提示
2011/09/07 PHP
PHP中将字符串转化为整数(int) intval() printf() 性能测试
2020/03/20 PHP
php读取mysql的简单实例
2014/01/15 PHP
php使用百度翻译api示例分享
2014/01/31 PHP
Valerio 发布了 Mootools
2006/09/23 Javascript
jQuery选择器的工作原理和优化分析
2011/07/25 Javascript
用jquery方法操作radio使其默认选项是否
2013/09/10 Javascript
javascript修改表格背景色实例代码分享
2013/12/10 Javascript
jQuery实现响应浏览器缩放大小并改变背景颜色
2014/10/31 Javascript
JavaScript设计模式之单体模式全面解析
2016/09/09 Javascript
浅谈nodejs中的类定义和继承的套路
2017/07/26 NodeJs
jquery拖拽自动排序插件使用方法详解
2020/07/20 jQuery
Vue最新防抖方案(必看篇)
2019/10/30 Javascript
微信小程序地图绘制线段并且测量(实例代码)
2020/01/02 Javascript
[01:31](回顾)杀出重围,决战TI之巅
2014/07/01 DOTA
[01:34]DOTA2 7.22版本新增神杖效果一览(敏捷英雄篇)
2019/05/28 DOTA
详解Python在七牛云平台的应用(一)
2017/12/05 Python
Ubuntu16.04/树莓派Python3+opencv配置教程(分享)
2018/04/02 Python
Python中XlsxWriter模块简介与用法分析
2018/04/24 Python
Python解决线性代数问题之矩阵的初等变换方法
2018/12/12 Python
Python Django中间件使用原理及流程分析
2020/06/13 Python
Python浮点型(float)运算结果不正确的解决方案
2020/09/22 Python
Spy++的使用方法及下载教程
2021/01/29 Python
英国舒适型鞋履品牌:FitFlop
2017/05/17 全球购物
恶意软件的定义
2014/11/12 面试题
什么是SCM(软件配置管理)
2014/08/16 面试题
类的返射机制中的包及核心类
2016/09/12 面试题
电气工程师岗位职责
2014/01/01 职场文书
公司人力资源的自我评价
2014/01/02 职场文书
家长评语怎么写
2014/12/30 职场文书
打架检讨书范文
2015/01/27 职场文书
大学军训通讯稿
2015/07/18 职场文书
导游词之唐山景点
2019/12/18 职场文书
浅谈怎么给Python添加类型标注
2021/06/08 Python
用Python编写简单的gRPC服务的详细过程
2021/07/04 Python
Win11开始菜单添加休眠选项
2022/04/19 数码科技