1.模块定义了一个应用程序;模块是应用程序中不同部分的容器;模块是应用控制器的容器;控制器通常属于一个模块

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

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

<script>

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

</script>

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

<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>

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

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

<script>

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

app.directive("runoobDirective",function(){

  return{

    template:"我在指令构造器中创建!"

  };

});

</script>

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

<!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>   //"myApp.js"包含了应用模块的定义程序

<script src="myCtrl.js"></script>   //"myCtrl.js"文件包含了控制器

</body>

</html>

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

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

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

**对于HTML应用程序,通常建议把所有的脚本都放置在<body>元素的最底部,这会提高网页加载速度,因为HTML加载不受制于脚本加载;

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

AngularJS学习之模块的更多相关文章

  1. AngularJS学习之旅—AngularJS 模块(十五)

    一.AngularJS 模块 模块定义了一个应用程序. 模块是应用程序中不同部分的容器. 模块是应用控制器的容器. 控制器通常属于一个模块. 1.创建模块 通过 AngularJS 的 angular ...

  2. AngularJS 系列 02 - 模块

    引导目录: AngularJS 系列 学习笔记 目录篇 前言: 其实,在上篇文章介绍数据绑定的时候,我们的HelloWorld的代码案例中就已经使用了模块(module).哈哈. 本篇就着重介绍一下a ...

  3. 推荐10个很棒的AngularJS学习指南

    AngularJS 是非常棒的JS框架,能够创建功能强大,动态功能的Web app.AngularJS自2009发布以来,已经广泛应用于Web 开发中.但是对想要学习Angular JS 的人而言,只 ...

  4. AngularJS学习笔记之依赖注入

    最近在看AngularJS权威指南,由于各种各样的原因(主要是因为我没有money,好讨厌的有木有......),于是我选择了网上下载电子版的(因为它不要钱,哈哈...),字体也蛮清晰的,总体效果还不 ...

  5. AngularJs学习总结-了解基本特性(-)

    现在的前端项目中基本上都会用到angularjs框架,之前并不了解这个框架,也是因为最近接手的项目,所以打算好好的学习下它.之前都是搞pc端,现在接手的是移动端的项目,移动端UI框架用的是ionic+ ...

  6. AngularJs学习笔记-AngularJS权威教程学习笔记

    AngularJS是什么? AngularJS是一种构建动态Web应用的结构化框架.主要用于构建单页面Web应用, 增加抽象级别,使构建交互式的现代Web应用变得更加简单. AngularJS使开发W ...

  7. AngularJS学习笔记2——AngularJS的初始化

    本文主要介绍AngularJS的自动初始化以及在必要的适合如何手动初始化. Angular <script> Tag 下面通过一小段代码来介绍推荐的自动初始化过程: <!doctyp ...

  8. AngularJs学习笔记--Using $location

    原版地址:http://code.angularjs.org/1.0.2/docs/guide/dev_guide.services.$location 一.What does it do? $loc ...

  9. AngularJs学习笔记--Modules

    原版地址:http://code.angularjs.org/1.0.2/docs/guide/module 一.什么是Module? 很多应用都有一个用于初始化.加载(wires是这个意思吗?)和启 ...

随机推荐

  1. 【leetcode】Convert Sorted List to Binary Search Tree (middle)

    Given a singly linked list where elements are sorted in ascending order, convert it to a height bala ...

  2. codeforces gym 100286 I iSharp (字符串模拟)

    题目链接 给定一个字符串.输入是int& a*[]&, b, c*; 输出是 int&&[]* a;int& b;int&* c; 输入格式里逗号后面一 ...

  3. yum安装时出现:Cannot retrieve metalink for repository: epel. Please verify its path and try again

    在CentOS 6.3 x86_64下安装php-mcrypt的时候出现了问题:Error: Cannot retrieve metalink for repository: epel. Please ...

  4. .NET微信公众号开发-1.0初始微信公众号

    一.前言 微信公众号是开发者或商家在微信公众平台上申请的应用账号,该帐号与QQ账号互通,通过公众号,商家可在微信平台上实现和特定群体的文字.图片.语音.视频的全方位沟通.互动 .形成了一 种主流的线上 ...

  5. 闭包(block)

    block主要解决反向传值和传值问题 1.block申明的公式       返回值类型 (^名字)(参数列表); 2.block实现的公式       名字= ^(参数列表){}; 3.局部变量   ...

  6. abcd

    [问题描述]有4个长度为N的数组a,b,c,d.现在需要你选择N个数构成数组e,数组e满足a[i]≤e[i]≤b[i]以及 Σe[i]*c[i]=0,并且使得Σe[i]*d[i]最大.[输入格式]输入 ...

  7. UVa1593_Allgnment_Of_Code

    /** start: integer; // begins hear stop: integer; // ends here s: string; c: char; // temp **/ //测试数 ...

  8. 手工加载DLL

    1.为了能找到dll的函数地址,生成dll时需要将其中的函数声明为C函数(extern "C"): #ifndef __MYDLL_H#define __MYDLL_H #ifde ...

  9. hdu1162(最小生成树 prim or kruscal)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1162 意义:给出一些点,用线问使所有点直接或间接连通,需要多长: 思路:裸最小生成树: 法1: pri ...

  10. NYOJ题目916胖子小的百宝袋

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsQAAAL6CAIAAAC+R9cJAAAgAElEQVR4nOydO5LcvM6GzyYmn4U47o