AngularJS Scope(作用域)

AngularJS Scope

在 AngularJS 中,Scope(作用域)是连接控制器(Controller)和视图(View)之间的桥梁。它是一个对象,包含了应用程序中的模型数据。Scope对象允许控制器和视图之间进行双向数据绑定,使得数据的变化可以自动反映在视图中。

创建 Scope

在 AngularJS 中,可以通过 $scope 对象来创建作用域。在控制器中,可以通过以下方式创建作用域:

-------------------------------- ---------------- -
    -------------- - ------- ------------
---

在上面的例子中,我们在控制器中创建了一个作用域,并定义了一个名为 message 的属性,其值为 'Hello, AngularJS!'

作用域继承

在 AngularJS 中,作用域是通过父子关系进行继承的。当一个作用域创建在另一个作用域内部时,子作用域就会继承父作用域的属性和方法。这种继承关系可以通过 $parent 属性来访问父作用域。

---------------------------------- ---------------- -
    -------------------- - ------- ------ --------
---

--------------------------------- ---------------- -
    ------------------- - ------- ----- --------
---

在上面的例子中,ChildControllerParentController 的子作用域,所以 ChildController 可以访问到 ParentController 中定义的 parentMessage 属性。

Scope Watchers

Scope Watchers(作用域监视器)是 AngularJS 提供的一种机制,用于监视作用域中属性的变化。通过监视器,我们可以在属性值发生变化时执行一些操作。

--------------------------------- ---------------- -
    ------------------------ ------------------ --------- -
        -------------------- ------- ---- - - -------- - - -- - - ----------
    ---
---

在上面的例子中,我们使用 $watch 方法监视 message 属性的变化,当 message 的值发生变化时,会触发回调函数并打印出新旧值。

总结

Scope 是 AngularJS 中非常重要的概念,它负责管理应用程序中的数据,并且通过双向数据绑定实现了控制器和视图之间的通信。了解和掌握 Scope 对于开发 AngularJS 应用程序是至关重要的。


上一篇:AngularJS 模型
下一篇:AngularJS 控制器