AngularJS Scope(作用域)
-
Scope 定义
scope(作用域) 是HTML(视图)和JavaScript(控制器)之间的绑定部分。scope(作用域) 是具有可用属性和方法的对象。该 scope(作用域) 可用于视图和控制器。 -
如何去使用 Scope
在AngularJS中创建控制器时,会将 $scope 对象作为参数传递:可以在视图中引用在控制器中创建的属性:将属性添加到控制器中的 $scope 对象时,视图(HTML)可以访问这些属性。在视图中,您无需使用前缀 $scope,而只是引用属性名称,例如{{carname}}。 -
Scope 概述
如果我们认为AngularJS应用程序包含:- View(视图),即HTML。
- Model(模型),这是当前视图可用的数据。
- Controller(控制器),它是制作/更改/删除/控制数据的JavaScript函数。
- 那么scope(作用域)就是模型。
scope(作用域) 是具有属性和方法的JavaScript对象,这些属性和方法可用于视图和控制器。如果您在视图中进行更改,则模型和控制器将被更新: -
Scope 作用范围
了解要处理的 Scope 非常重要。在上面的两个示例中,只有一个作用域,因此知道您的作用域不是问题,但是对于较大的应用程序,HTML DOM中可以有一些部分只能访问某些作用域。在处理ng-repeat
指令时,每个重复都可以访问当前的重复对象:每个<li>元素都可以访问当前的重复对象,在这种情况下为字符串,可以使用x进行引用。
-
根作用域
所有应用程序都有一个 $rootScope,这是在包含ng-app
指令的HTML元素上创建的范围。$rootScope 在整个应用程序中可用。如果变量在当前作用域和 $rootScope 中都具有相同的名称,则应用程序将在当前作用域中使用该名称。控制器的作用域和 $rootScope 中都存在一个名为 "color" 的变量: