一、AngularJs的作用域
AngularJs的数据仓库就是AngularJs的作用域,$rootScope是AngularJs的根作用域,在AngularJs框架内部,$rootScope和js内的window是一样的。
作用域可以嵌套:
1.内部可以访问外部,外部不能访问内部。
2.内部和外部发生重名时,优先访问内部的数据。
二、ng-repeat
ng-repeat重复生成模板的内容。
1.遍历数组 ng-repeat = “item in array”
item代表数组中的每一项;array代表要被遍历的数组;
2.遍历对象 ng-repeat = "(key,value) in dictionary"
key表示对象上的键;value表示键对应的值;dictionary代表任意储存键值对的对象
ng-repeat指令的作用:
1.为数组里的每一项建立一个作用域,并把需要的值放到这个作用域上。(得到一组子作用域)
2.获取模板,并把每一个作用域都和模板做一次绑定($compile),获得一个HTML元素。(HTML元素是绑定过作用域的)
3.把创建出来的一组绑定好的HTML元素放到网页上。
三、模块
AngularJs所有的代码都是放在AngularJs的模块里面的,为的是,方便和其他人的模块拼接组合。
AngularJs的模块有一个特点:AngularJs的模块里面规定必须只能使用某几种功能部件。
四、控制器
1. AngularJs模块中的功能部件:run、controller等等。
控制器的作用是:初始化一个作用域。
app.controller("MainController", function ($scope) {
$scope["name"] = "Main Controller Name";
})
app.controller是控制器,控制器的第一个参数是控制器的名字,第二个参数是控制器的构造函数(工厂函数), 输入参数名可以获取AngularJs提供的“服务”(功能)。 $scope就意味着:angularjs会帮我们创建一个作用域对 象,然后把它传给我们。控制器是用于初始化作用域的,控制器本身不存储作用域。
2.ng-controller
ng-controller指令它不是控制器,它是一个指令。它做了什么事情呢?
①.创建一个空作用域。
②.获取用app.controller函数在app模块上创建的控制器。(控制器与名字MainController相对应)
③.空作用域与控制器绑定,用控制器初始化空作用域,初始化就是向空作用域存放数据。作用域存放数据
④.把作用域绑定到HTML标签上。标签内部的所有angularjs表达式都依赖于这个作用域来求值。