AngularJS模块详解及示例代码


Posted in Javascript onAugust 17, 2016

AngularJS支持模块化的方法。模块用于单独的逻辑表示服务,控制器,应用程序等,并保持代码的整洁。我们在单独的js文件中定义的模块,并将其命名为按照module.js文件形式。在这个例子中,我们要创建两个模块。

Application Module - 用于初始化控制器应用程序

Controller Module - 用于定义控制器

应用模块

mainApp.js

var mainApp = angular.module("mainApp", []);

在这里,我们已经声明使用 angular.module 功能的应用程序 mainApp 模块。我们已经通过了一个空数组给它。此数组通常包含从属模块。

控制器模块

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模块详解及示例代码

以上就是AngularJS模块相关知识的资料整理,后续继续补充相关知识,谢谢大家对本站的支持!

Javascript 相关文章推荐
几款极品的javascript压缩混淆工具
May 16 Javascript
use jscript with List Proxy Server Information
Jun 11 Javascript
基于jquery的自定义鼠标提示效果 jquery.toolTip
Nov 14 Javascript
Jquery基础之事件操作详解
Jun 14 Javascript
详解JavaScript节流函数中的Throttle
Jul 16 Javascript
js字符串操作总结(必看篇)
Nov 22 Javascript
BootStrap实现轮播图效果(收藏)
Dec 30 Javascript
详解Javascript 中的 class、构造函数、工厂函数
Dec 20 Javascript
vue实现前进刷新后退不刷新效果
Jan 26 Javascript
聊聊JS动画库 Velocity.js的使用
Mar 13 Javascript
vue-cli3.0配置及使用注意事项详解
Sep 05 Javascript
这样回答继承可能面试官更满意
Dec 10 Javascript
Bootstrap 源代码分析(未完待续)
Aug 17 #Javascript
AngularJS HTML DOM详解及示例代码
Aug 17 #Javascript
AngularJS表格详解及示例代码
Aug 17 #Javascript
AngularJS过滤器详解及示例代码
Aug 16 #Javascript
AngularJS控制器详解及示例代码
Aug 16 #Javascript
AngularJS表达式讲解及示例代码
Aug 16 #Javascript
谈谈PHP中相对路径的问题与绝对路径的使用
Aug 16 #Javascript
You might like
BBS(php &amp; mysql)完整版(四)
2006/10/09 PHP
php列出mysql表所有行和列的方法
2015/03/13 PHP
php利用array_search与array_column实现二维数组查找
2019/07/08 PHP
jQuery的运行机制和设计理念分析
2011/04/05 Javascript
JavaScript实现自己的DOM选择器原理及代码
2013/03/04 Javascript
HTML5之lang属性与dir属性的详解
2013/06/19 Javascript
jquery判断RadioButtonList和RadioButton中是否有选中项示例
2013/09/29 Javascript
构造函数+原型模式构造js自定义对象(最通用)
2014/05/12 Javascript
js基于setTimeout与setInterval实现多线程
2016/06/17 Javascript
vue2.0构建单页应用最佳实战
2017/04/01 Javascript
ES6字符串模板,剩余参数,默认参数功能与用法示例
2017/04/06 Javascript
node.js 核心http模块,起一个服务器,返回一个页面的实例
2017/09/11 Javascript
使用axios实现上传图片进度条功能
2017/12/21 Javascript
React BootStrap用户体验框架快速上手
2018/03/06 Javascript
在小程序Canvas中使用measureText的方法示例
2018/10/19 Javascript
在Vant的基础上实现添加表单验证框架的方法示例
2018/12/05 Javascript
JS数组方法shift()、unshift()用法实例分析
2020/01/18 Javascript
vscode 调试 node.js的方法步骤
2020/09/15 Javascript
微信小程序:报错(in promise) MiniProgramError
2020/10/30 Javascript
js实现头像上传并且可预览提交
2020/12/25 Javascript
[01:55]2014DOTA2国际邀请赛 BBC正赛第一天总结
2014/07/10 DOTA
Python自动连接ssh的方法
2015/03/07 Python
python选择排序算法实例总结
2015/07/01 Python
Python验证企业工商注册码
2015/10/25 Python
Python 支付整合开发包的实现
2019/01/23 Python
Python创建或生成列表的操作方法
2019/06/19 Python
pandas DataFrame 行列索引及值的获取的方法
2019/07/02 Python
Pytorch技巧:DataLoader的collate_fn参数使用详解
2020/01/08 Python
利用Python发送邮件或发带附件的邮件
2020/11/12 Python
vue.js刷新当前页面的实例讲解
2020/12/29 Python
日本网路线上商品代购服务:转送JAPAN
2016/08/05 全球购物
Feelunique澳大利亚:欧洲的化妆品零售电商
2019/12/18 全球购物
Wiggle澳大利亚:自行车、跑步、游泳商店
2020/11/07 全球购物
母亲七十大寿答谢词
2014/01/18 职场文书
百货商场楼层班组长竞聘书
2014/03/31 职场文书
公务员政审单位鉴定材料
2014/05/16 职场文书