scope的生命周期

当Angular关心的事件发生在浏览器中时,比如用户在通过ng-model属性监控的输入字段中输入,或者带有ng-click属性的按钮被点击时,Angular的事件循环都会启动。这个事件将在Angular执行上下文中处理。

更多关于Angular执行上下文的信息请参考第23章。

当事件被处理时,$scope就会对表达式求值。此时事件循环会启动,并且应用程序会检查每个监控。

作用域的表达式就是赋值给作用域对象的变量。当我们给上面提到的作用域中的name变量赋值,比如$scope.name="Ari",实际上是设置了一个表达式,即使这个值只是一个简单的字符串。

$scope对象的生命周期处理有四个不同阶段。

创建

在创建控制器或指令时,AngularJS会用$injector创建一个新的作用域,并在这个新建的控制器或指令运行时将作用域传递进去。

链接

当Angular开始运行时,所有的$scope对象都会附加或者链接到视图中。所有创建$scope对象的函数也会将自身附加到视图中。这些作用域将会注册当Angular应用上下文中发生变化时需要运行的函数。

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

更新

当事件循环运行时,它通常执行在顶层$scope对象上(被称作$rootScope),每个子作用域都执行自己的脏值检测。每个监控函数都会检查变化。如果检测到任意变化,$scope对象就会触发指定的回调函数。

销毁

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

尽管永远不会需要清理作用域(因为Angular会为你处理),但是知道是谁创建了这个作用域还是有用的,因为你可以使用这个$scope上叫做$destory()的方法来清理这个作用域。

scope的生命周期相关推荐

  1. spring入门第二讲 bean的生命周期 装配方式 Spring整合Junit

    bean的生命周期 实体类 //初始化 public void init(){System.out.println("--初始化--"); }//销毁 public void de ...

  2. maven scope 属性和生命周期

    2019独角兽企业重金招聘Python工程师标准>>> maven的dependency参数 scope的分类 1.compile:默认值 他表示被依赖项目需要参与当前项目的编译,还 ...

  3. Spring(二)scope、集合注入、自动装配、生命周期

    原文链接:http://www.orlion.ga/189/ 一.scope bean的scope属性中常用的有两种:singleton(单例,默认)和prototype(原型,每次创建新对象) 例: ...

  4. spring— Bean标签scope配置和生命周期配置

    scope配置 singleton 默认值,单例的 prototype 多例的 request WEB 项目中,Spring 创建一个 Bean的对象,将对象存入到 request 域中 sessio ...

  5. 精通AngularJS(三)深入scope,继承结构,事件系统和生命周期

    深入探讨 Scope 作用域 每一个 $scope 都是类 Scope 的一个实例.类 Scope 拥有可以控制 scope 生命周期的方法,提供事件传播的能力,并支持模板渲染. 作用域的层次结构 让 ...

  6. @Scope注解设置创建bean的方式和生命周期

    1.1.1            Scope注解创建bean的方式和生命周期 作用 Scope设置对象在spring容器(IOC容器)中的生命周期,也可以理解为对象在spring容器中的创建方式. 取 ...

  7. spring学习之将类交给spring管理,bean的注入,scope,集合注入,自动装配,生命周期,迟加载

    一.将类交给spring管理(IOC) 1.将类交给spring容器管理 如何将一个类交给spring容器进行管理呢? 方法很简单,只需要在applicationContext.xml中加入对应的xm ...

  8. SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession作用域(Scope)和生命周期

    可以说每个MyBatis都是以一个SqlSessionFactory实例为中心的.SqlSessionFactory实例可以通过SqlSessionFactoryBuilder来构建.一是可以通过XM ...

  9. flutter中的生命周期

    前言 和其他的视图框架比如android的Activity一样,flutter中的视图Widget也存在生命周期,生命周期的回调函数提现在了State上面.理解flutter的生命周期,对我们写出一个 ...

最新文章

  1. 数据结构线段树介绍与笔试算法题-LeetCode 307. Range Sum Query - Mutable--Java解法
  2. Intel发布神经网络压缩库Distiller:快速利用前沿算法压缩PyTorch模型
  3. [CareerCup] 11.1 Merge Arrays 合并数组
  4. Java的新项目学成在线笔记-day10(三)
  5. this 和super关键字
  6. 安装codeblocks和wxwidgets及opencv
  7. CodeForces - 1485B(找规律+求和) acm寒假集训日记21/12/31or22/1/1
  8. 你在面试时是否无意中暴露了缺点?资深面试官如何从细节中看候选人的软实力...
  9. tomcat源码分析--初始化与启动
  10. 接口自动化测试框架搭建(3、excel的设计excel文件的读取)--python+HTMLTestRunnerCN+request+unittest+mock+db
  11. Android广播机制(2)
  12. dockerfile文件名_第八章 Dockerfile文件解析(二)
  13. jQuery 滚动条插件nicescroll 使用方法、常见配置和事件回调使用说明
  14. Android微信emoji表情,Android 软键盘和emoji表情切换方案,和微信几乎一样的体验...
  15. python一般用什么平台好_python哪几个平台好用
  16. 使用Arcmap创建企业级地理数据库失败,无法连接到数据库
  17. h5页面预览pdf文件_H5 页面如何查看 PDF 文件
  18. NTKO控件安装失败解决方式
  19. 思考像微信QQ视频通话最小化后悬浮展现实现思路
  20. Windows10家庭版 提升管理员权限

热门文章

  1. 两独立样本率的优效性试验-样本量计算
  2. WebService技术简介
  3. WM SCM630 笔记 Unit 4 Putaway Control (2)
  4. template标签介绍和使用
  5. 二进制转换八进制图解_二进制、八进制和十六进制之间转换详解
  6. 改变你的文字 改变你的世界
  7. 集合泛型不匹配导致的ClassCastException异常解决
  8. footbar2000 简单介绍
  9. GitLab修改群组信息
  10. Spring+SpringMVC+MyBatis干洗店洗衣店管理系统java ssm