美文网首页Flask 学习笔记
angularJs 的作用域 $scope

angularJs 的作用域 $scope

作者: c0bd44e64daa | 来源:发表于2014-10-17 14:35 被阅读200次

    作用域提供了监视数据模型变化的能力。它允许开发者使用其中的apply机制,将数据模型

    的变化在整个应用范围内进行通知。

    $scope.$apply();

    作用域有以下的基本功能:

    1. 提供观察者以监视数据模型的变化;

    2. 可以将数据模型的变化通知给整个应用,甚至是系统外的组件;

    3. 可以进行嵌套,隔离业务功能和数据;

    4. 给表达式提供运算时所需的执行环境。

    $scope的生命周期

    1. 创建

    在创建控制器或指令时,AngularJS会用$injector创建一个新的作用域,并在这个新建的控

    制器或指令运行时将作用域传递进去。

    2. 链接

    当Angular开始运行时,所有的$scope对象都会附加或者链接到视图中。所有创建$scope对

    象的函数也会将自身附加到视图中。这些作用域将会注册当Angular应用上下文中发生变化时需

    要运行的函数。

    这些函数被称为$watch函数,Angular通过这些函数获知何时启动事件循环。

    3. 更新

    当事件循环运行时,它通常执行在顶层$scope对象上(被称作$rootScope),每个子作用域

    都执行自己的脏值检测。每个监控函数都会检查变化。如果检测到任意变化,$scope对象就会触

    发指定的回调函数。

    4. 销毁

    当一个$scope在视图中不再需要时,这个作用域将会清理和销毁自己。

    尽管永远不会需要清理作用域(因为Angular会为你处理),但是知道是谁创建了这个作用域

    还是有用的,因为你可以使用这个$scope上叫做$destory()的方法来清理这个作用域。

    相关文章

      网友评论

        本文标题:angularJs 的作用域 $scope

        本文链接:https://www.haomeiwen.com/subject/jouptttx.html