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 相关文章推荐
IE与FireFox的兼容性问题分析
Apr 22 Javascript
asp 取文本框名称代码
Dec 02 Javascript
Notify - 基于jquery的消息通知插件
Oct 18 Javascript
从jquery的过滤器.filter()方法想到的
Sep 29 Javascript
Extjs grid panel自带滚动条失效的解决方法
Sep 11 Javascript
无缝滚动的简单实现代码(推荐)
Jun 07 Javascript
使用 jQuery.ajax 上传带文件的表单遇到的问题
Oct 31 Javascript
Vue结合原生js实现自定义组件自动生成示例
Jan 21 Javascript
vue项目实战总结篇
Feb 11 Javascript
React手稿之 React-Saga的详解
Nov 12 Javascript
使用Angular material主题定义自己的组件库的配色体系
Sep 04 Javascript
基于JavaScript实现留言板功能
Mar 16 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
解析使用ThinkPHP应该掌握的调试手段
2013/06/20 PHP
php中的路径问题与set_include_path使用介绍
2014/02/11 PHP
Laravel框架学习笔记(一)环境搭建
2014/10/15 PHP
php用户登录之cookie信息安全分析
2016/05/13 PHP
PHP扩展框架之Yaf框架的安装与使用
2016/05/18 PHP
PHP实现生成推广海报的方法详解
2018/03/14 PHP
Jquery 表格合并的问题分享
2011/09/17 Javascript
ASP.NET jQuery 实例14 在ASP.NET form中校验时间范围
2012/02/03 Javascript
使用js+jquery实现无限极联动
2013/05/23 Javascript
javascript列表框操作函数集合汇总
2013/11/28 Javascript
基于javascript html5实现3D翻书特效
2016/03/14 Javascript
详解微信小程序开发之——wx.showToast(OBJECT)的使用
2017/01/18 Javascript
angular指令笔记ng-options的使用方法
2017/09/18 Javascript
Bootstrap modal只加载一次数据的解决办法(推荐)
2017/11/24 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
2018/03/15 Javascript
React中的render何时执行过程
2018/04/13 Javascript
在vue中更换字体,本地存储字体非引用在线字体库的方法
2018/09/28 Javascript
layui关闭弹窗后刷新主页面和当前更改项的例子
2019/09/06 Javascript
解决vue bus.$emit触发第一次$on监听不到问题
2020/07/28 Javascript
vue.js 输入框输入值自动过滤特殊字符替换中问标点操作
2020/08/31 Javascript
[42:25]EG vs Spirit Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
Python实现简单的代理服务器
2015/07/25 Python
python实现mysql的读写分离及负载均衡
2018/02/04 Python
python3 对list中每个元素进行处理的方法
2018/06/29 Python
Python3.5局部变量与全局变量作用域实例分析
2019/04/30 Python
Python 实现递归法解决迷宫问题的示例代码
2020/01/12 Python
简单了解python filter、map、reduce的区别
2020/01/14 Python
Python字典添加,删除,查询等相关操作方法详解
2020/02/07 Python
python能否java成为主流语言吗
2020/06/22 Python
python与pycharm有何区别
2020/07/01 Python
HTML5边玩边学(1)画布实现方法
2010/09/21 HTML / CSS
如果重写了对象的equals()方法,需要考虑什么
2014/11/02 面试题
档案检查欢迎词
2014/01/13 职场文书
2014年质检员工作总结
2014/11/18 职场文书
婚礼男方父母答谢词
2015/09/29 职场文书
合作意向书怎么写
2019/06/24 职场文书