ylbtech-AngularJS:模块
1.返回顶部
1、

AngularJS 模块


模块定义了一个应用程序

模块是应用程序中不同部分的容器

模块是应用控制器的容器

控制器通常属于一个模块


创建模块

你可以通过 AngularJS 的 angular.module 函数来创建模块:

<div ng-app="myApp">...</div>

<script>

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

</script>

"myApp" 参数对应执行应用的 HTML 元素。

现在你可以在 AngularJS 应用中添加控制器,指令,过滤器等。


添加控制器

你可以使用 ng-controller 指令来添加应用的控制器:

AngularJS 实例

<div ng-app="myApp" ng-controller="myCtrl">
{{ firstName + " " + lastName }}
</div> <script> var app = angular.module("myApp", []); app.controller("myCtrl", function($scope) {
$scope.firstName = "John";
$scope.lastName = "Doe";
}); </script>

尝试一下 »

你可以在 AngularJS 控制器章节学到更多关于控制器的知识。


添加指令

AngularJS 提供了很多内置的指令,你可以使用它们来为你的应用添加功能。

完整的指令内容可以参阅 AngularJS 参考手册

此外,你可以使用模块来为你应用添加自己的指令:

AngularJS 实例

<div ng-app="myApp" runoob-directive></div>

<script>

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

app.directive("runoobDirective", function() {
return {
template : "我在指令构造器中创建!"
};
});
</script>

尝试一下 »

你可以在 AngularJS 指令章节学到更多关于指令的知识。


模块和控制器包含在 JS 文件中

通常 AngularJS 应用程序将模块和控制器包含在 JavaScript 文件中

在以下实例中, "myApp.js" 包含了应用模块的定义程序, "myCtrl.js" 文件包含了控制器:

AngularJS 实例

<!DOCTYPE html>
<html>
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
<body> <div ng-app="myApp" ng-controller="myCtrl">
{{ firstName + " " + lastName }}
</div> <script src="myApp.js"></script>
<script src="myCtrl.js"></script> </body>
</html>

尝试一下 »

myApp.js

var app = angular.module("myApp", []);
在模块定义中 [] 参数用于定义模块的依赖关系。
中括号[]表示该模块没有依赖,如果有依赖的话会在中括号写上依赖的模块名字。

myCtrl.js

app.controller("myCtrl", function($scope) {
$scope.firstName = "John";
$scope.lastName = "Doe";
});

函数会影响到全局命名空间

JavaScript 中应避免使用全局函数。因为他们很容易被其他脚本文件覆盖。

AngularJS 模块让所有函数的作用域在该模块下,避免了该问题。


什么时候载入库?

在我们的实例中,所有 AngularJS 库都在 HTML 文档的头部载入。

对于 HTML 应用程序,通常建议把所有的脚本都放置在 <body> 元素的最底部

这会提高网页加载速度,因为 HTML 加载不受制于脚本加载。

在我们的多个 AngularJS 实例中,您将看到 AngularJS 库是在文档的 <head> 区域被加载。

在我们的实例中,AngularJS 在 <head> 元素中被加载,因为对 angular.module 的调用只能在库加载完成后才能进行。

另一个解决方案是在 <body> 元素中加载 AngularJS 库,但是必须放置在您的 AngularJS 脚本前面

AngularJS 实例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body> <div ng-app="myApp" ng-controller="myCtrl">
{{ firstName + " " + lastName }}
</div>
<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
$scope.firstName = "John";
$scope.lastName = "Doe";
});
</script> </body>
</html>

尝试一下 »

2、
2.返回顶部
 
3.返回顶部
 
4.返回顶部
 
5.返回顶部
1、
2、 
6.返回顶部
 
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

最新文章

  1. JS中数组Array的用法{转载}
  2. ActiveMQ简介
  3. HTML编码规范
  4. highcharts 柱状图 动态加载
  5. ENVI软件操作之【数据的显示操作】
  6. python 自动化测试资料
  7. Generic repository pattern and Unit of work with Entity framework
  8. wikioi 3116 高精度练习之加法
  9. ANDROID_MARS学习笔记_S01_008Linear_layout例子
  10. await与async的简单了解
  11. $(function(){})与(function($){....})(jQuery)的区别
  12. Qt::ConnectionType(信号与槽的传递方式)
  13. java类固定值代替基表写法
  14. Java的注释和Javadoc在eclipse生成的方法 – Break易站
  15. 【mp3】洗脑循环了!龙珠超 自在极意功 【究极の圣戦】串田アキラ 背景纯音乐
  16. 浅析Java数据类型
  17. 设置DataGridView中表头颜色
  18. Sublime Text3—常用插件Emmet
  19. php支付宝接口 的使用
  20. git add和git commit

热门文章

  1. google Json
  2. MongoDB快速入门(六)- 更新文档
  3. HBase协处理器的使用(添加Solr二级索引)
  4. Linux嵌入式 -- 内核 - 内核定时器
  5. Flume的Avro Sink和Avro Source研究之二 : Avro Sink
  6. Quartz实现定时任务实例
  7. mysql数据库优化课程---1、数据库的本质是什么
  8. java:管道流(线程间管道流)
  9. poj2778 ac自动机+矩阵快速幂
  10. C# 6.0 (VS2015 CTP6)