angular中的作用域的那些事儿
来源:互联网 发布:查看产品淘宝客佣金 编辑:程序博客网 时间:2024/05/21 11:32
理解Angular的作用域(scope)相当重要,因为scope是链接javascript和HTML之间的纽带(视图上的所有的数据基本上都是在作用域中定义好之后“绑定”在HTML上的)。用正规点的话说,作用域是定义应用业务逻辑,控制器方法和视图属性的地方(毕竟都是$scope.....$scope....等等),有人说,作用域($scope)是视图和控制器之间的胶水,这个还是比较形象的,毕竟在应用中控制器中通过作用域来定义一些方法,属性等,然后在视图中需要在适当的位置引用即可。也可以把作用域理解成视图模型(VM)
angular中的作用域设计成了类似于DOM的结构这就意味着,$scope可以嵌套,也就是说我们可以在子$scope中引用父$scope中定义的属性或者方法。
AngularJS启动并生成视图时,会将根ng-app元素同$rootScope进行绑定。$rootScope是所有$scope对象的最上层 (父作用域)$rootScope 可作用于整个应用中。是各个 controller 中 scope 的桥梁。用 rootscope 定义的值,可以在各个 controller 中使用。
那么说了这么多,作用域究竟能干些什么呢?
作用域有以下的基本功能:
1.提供观察者以监视数据模型的变化;
2.可以将数据模型的变化通知给整个应用,甚至是系统外的组件;
3. 可以进行嵌套,隔离业务功能和数据;
4. 给表达式提供运算时所需的执行环境 ;
作用域的生命周期:
创建:在创建控制器或者指令的时候,angularjs就通过$injector创建一个新的作用域(相当于隔离出来了一块作用域;
链接:当Angular开始运行时,所有的$scope对象都会附加或者链接到视图中 ;
更新:当事件循环运行时,它通常执行在顶层$scope对象上(被称作$rootScope),每个子作用域都执行自己的脏值检测,根据检测的结果决定是否执行回调函数;
销毁:当一个$scope在视图中不再需要时,这个作用域将会清理和销毁自己,不过,你可以使用这个$scope上叫做$destory()的方法来清理这个作用域
- angular中的作用域的那些事儿
- angular中的那些事儿---过滤器
- angular的作用域
- 跨域的那些事儿
- Angular中的$cacheFactory的作用和用法
- Angular中的Service的作用和用法
- 理解Angular的作用域
- 明朝的那些事儿
- Oracle 的那些事儿
- VC++的那些事儿
- 游戏的那些事儿
- 编译器的那些事儿
- 找工作的那些事儿
- 北爱尔兰的那些事儿
- 数组的那些事儿~
- 密码的那些事儿
- poi的那些事儿
- Format的那些事儿
- 线程安全与可重入函数
- FreeRTOS学习3--二值信号量
- 解决onActivityResult方法不执行的办法
- 浏览器页面之间推送消息 A窗口给B窗口推送消息 用于cef多个browser之间通信
- SpringMVC源码(六)Controller控制器4-View视图解析器
- angular中的作用域的那些事儿
- <HeadFirst设计模式>笔记——单例模式
- Glide的简单封装GlideUtils
- js与jq基础笔记(持续添加)
- eclipse签名打包时提示Certificate is expired
- android项目架构 -----Android 知识体系与常用第三方框架
- oracle数据库定时任务dbms_job的用法详解
- 并行计算
- 动态查找表之二叉排序树的查找、遍历、删除