什么';这是angularJs中rootScope和scope的主要区别。内部工作原理

什么';这是angularJs中rootScope和scope的主要区别。内部工作原理,angularjs,scope,rootscope,Angularjs,Scope,Rootscope,我是angular js的新手,我在编码中一直使用$scope。然而,我知道like-scope用于全局变量,以确保我搜索了angularJs文档,但找到了根范围的详细信息,我并不清楚。 有人帮我理解rootscope和scope之间的主要区别吗。?什么时候使用。?以及它内部是如何工作的 $scope不适用于全局变量,它在特定模块中使用,并且在控制器中可用,而$rootscope类似于跨模块的全局变量,而且我们可以有几个$scope,但我们的应用程序中只能有一个$rootscope,即$root

我是angular js的新手,我在编码中一直使用$scope。然而,我知道like-scope用于全局变量,以确保我搜索了angularJs文档,但找到了根范围的详细信息,我并不清楚。
有人帮我理解rootscope和scope之间的主要区别吗。?什么时候使用。?以及它内部是如何工作的

$scope不适用于全局变量,它在特定模块中使用,并且在控制器中可用,而$rootscope类似于跨模块的全局变量,而且我们可以有几个$scope,但我们的应用程序中只能有一个$rootscope,即$rootscope用于globla变量,而$scope用于本地变量模块内的变量。

作用域具有

每个角度应用程序只有一个根范围,但可能有 几个子范围

应用程序可以有多个作用域,因为有些指令 创建新的子作用域(请参阅指令文档了解 指令创建新的作用域)。创建新作用域时,它们是 添加为其父作用域的子级。这将创建一个树结构 与它们所连接的DOM平行

当你有类似于:

{{name}}
它将在范围内查找此属性。如果不存在此类财产 找到,然后搜索父范围,依此类推,直到找到根 范围已达到。在JavaScript中,这种行为称为原型 继承,并且子作用域通常从其 父母

如果您看下图,在最内部的作用域中,{{name}解析为ng repeat中的属性。在GreetCtrl作用域中,它解析为此控制器中定义的属性。如果此控制器没有定义属性,并且它是在$rootScope中定义的,则将显示$rootScope值

因此,是根范围、全局范围或最顶端的父范围:

每个应用程序都有一个根作用域。所有其他作用域都是 根作用域的子作用域。作用域提供了 模型和视图,通过用于查看模型的 变化

有关作用域如何工作的信息,请参阅。

的可能副本