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一些实用技巧小结
Mar 18 Javascript
js实现div弹出层的方法
Nov 20 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(下)
Oct 28 Javascript
dedecms页面如何获取会员状态的实例代码
Mar 15 Javascript
基于jQuery Ajax实现上传文件
Mar 24 Javascript
一个可复用的vue分页组件
May 15 Javascript
vue.js实现条件渲染的实例代码
Jun 22 Javascript
利用Ionic2 + angular4实现一个地区选择组件
Jul 27 Javascript
angularJs中$scope数据序列化的实例
Sep 30 Javascript
vue实现拖拽效果
Dec 23 Javascript
如何使用CocosCreator对象池
Apr 14 Javascript
uniapp 微信小程序 自定义tabBar 导航
Apr 22 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
destoon整合ucenter后注册页面不跳转的解决方法
2014/06/21 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
javascript 一个自定义长度的文本自动换行的函数
2007/08/19 Javascript
javascript 打印内容方法小结
2009/11/04 Javascript
ASP.NET中基于JQUERY的高性能的TreeView补充
2011/02/23 Javascript
同时使用n个window onload加载实例介绍
2013/04/25 Javascript
js简单实现让文本框内容逐个字的显示出来
2013/10/22 Javascript
javascript 获取iframe里页面中元素值的方法
2014/02/17 Javascript
jquery默认校验规则整理
2014/03/24 Javascript
jQuery实现按键盘方向键翻页特效
2015/03/18 Javascript
Jquery中request和request.form和request.querystring的区别
2015/11/26 Javascript
JS中用三种方式实现导航菜单中的二级下拉菜单
2016/10/31 Javascript
使用JS读取XML文件的方法
2016/11/25 Javascript
深入理解vue路由的使用
2017/03/24 Javascript
JavaScript数据结构之二叉查找树的定义与表示方法
2017/04/12 Javascript
详解Nuxt.js Vue服务端渲染摸索
2018/02/08 Javascript
使用Sonarqube扫描Javascript代码的示例
2018/12/26 Javascript
Flutter实现仿微信底部菜单栏功能
2019/09/18 Javascript
Python命名空间详解
2014/08/18 Python
python使用xmlrpclib模块实现对百度google的ping功能
2015/06/02 Python
在cmd中查看python的安装路径方法
2019/07/03 Python
python求最大值,不使用内置函数的实现方法
2019/07/09 Python
python next()和iter()函数原理解析
2020/02/07 Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
2020/03/12 Python
关于python的缩进规则的知识点详解
2020/06/22 Python
python实现扫雷游戏的示例
2020/10/20 Python
伦敦剧院及景点门票:Encore Tickets
2018/07/01 全球购物
施华洛世奇西班牙官网:SWAROVSKI西班牙
2019/06/06 全球购物
当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗
2014/04/28 面试题
几个SQL的面试题
2014/03/08 面试题
七年级政治教学反思
2014/02/03 职场文书
电教室标语
2014/06/20 职场文书
企业党建工作汇报材料
2014/08/19 职场文书
公司委托书范本5篇
2014/09/20 职场文书
交通事故赔偿协议书怎么写
2014/10/04 职场文书
python中数组和列表的简单实例
2022/03/25 Python