码迷,mamicode.com
首页 > Web开发 > 详细

AngulaJS之作用域

时间:2016-04-03 16:00:58      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

作用域($scope)

实质上是一个作用哉对象,作用:存储数据模型、为表达式提供上下文环境、监听表达式变化并传播事件,是view与controller之间的重要桥梁。

1.特点

提供了一个$watch方法来监听数据模型的变化,ng-model实现的双向数据绑定就是通过调用访方法进行数据模型监听;

  $watch方法监控模型数据的变化,主要是因为在Angula内部,当对绑定ng-model指定的属性进行修改时,其内部的$digest方法就会自动执行一次,检测ng-mode所绑定的属性值与上次$digest方法执行时获取的内容是否一致,如果不一致,则执行$watch方法绑定的处理函数。

提供另一个$apply方法,为各种类型的数据模型改变提供支撑,例如通过view中ng-click指定,执行controller中的代码;

为表达式提供执行的环境,作用域通过提供$scope对象,使所有的表达式都拥有对应的执行环境,也就是执行的上下文对象。

 

2.作用数据模型的作用域

作用域不仅是controller与view的桥梁,也是view与指定的桥梁,因为在自定定指令时,会调用$watch方法监听各个表达式的变化,一旦作用域中的表达式发生了变化,$wathc方法将通知指令,而指令将根据这个变化重新渲染DOM页面,即更新作用域中的属性值内容。

无论是指定,还是controller,它们都可以通过作用域与视图中的DOM绑定。由此,诞生2个数据关系链接,一条是:指定—>作用域—>view,另一条是:controller—>$scope—>view,这2条关系链之间还是相互独立的。

 

3.作用域的层级和事件

作用域在绑定了页面元素后,便依据元素的层次关系形成了自身的层级关系,而这这些层级关系中,它们可以通过事件的传播进行数据的通信,只是这种通过事件的数据通信的应用场景非常有限,仅限于父和子级之间的作用域。

AngulaJS之作用域

标签:

原文地址:http://www.cnblogs.com/dingchui/p/5324853.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!