$watch、$digest、$apply
$watch、$digest、$apply
$watch 代表的就是对数据源的监听,当数据源发生变化,就会触发第二个参数的回调函数
$digest 代表触发一个数据源变化的事件
$apply 代表对于$digest的一个封装,他多了一个参数
$watch
第一个参数就是要监听的数据源
第二个参数就是当监听的数据源发生变化了,触发的一个回调函数,回调函数包含两个参数,分别代表(新值、旧值)
$digest 是用来手动触发监听事件的,通常不需要手动触发,而是由$apply来调用
$apply 只是把$digest 做了一次封装,来提供手动触发,那么为什么需要手动触发呢,正常情况下,在angular下,修改数据源就会自动触发,但是要是不在angular上下文的情况下,如浏览器DOM事件,setTimeout执行,这种情况下,angular无法获取到事件,所以,通过apply来手动触发一下,在apply的参数中去修改数据源
$observe,他是在定义Directive的时候,针对link的第三个参数attr来做的监听
attr,实际上就是定义的元素上的attribute参数,通过attr可以获取DOM中的参数
通过$observe来进行监听,当参数的值发生变化了,就会触发回调函数,他和watch的不同就是,监听的宿主对象不同
随机推荐
- PDA应用在WMS仓储管理系统 实现无线扫描出入库作业
WMS系统是根据仓储物流管理的建设实施经验而推出的一款专业化仓储管理软件.与传统进销存软件相比优势在于,其不但包含了正常的出入库.盘点等库存管理基本功能,重点在于可以实现仓库作业过程的管理,通过条码及 ...
- AMPPZ2014
[AMPPZ2014]The Lawyer 记录每天结束的最早的会议以及开始的最晚的会议即可. #include<cstdio> #define N 500010 int n,m,i,d, ...
- 【壁纸自动换】自动下载、更换壁纸(Bing壁纸)--XinBSBingWallPaper[2.7更新]
XinBSBingWallPaper主要功能: 1.支持自动下载Bing壁纸.Netbian壁纸.美国国家地理杂志图片. 2.自动搜索.下载多国Bing首页壁纸. 3.支持定时自动更换桌面壁纸. 4. ...
- objective-c "performSelector may cause a leak because its selector is unknown".
#define SuppressPerformSelectorLeakWarning(Stuff) \ do { \ _Pragma("clang diagnostic push" ...
- TYVJ P1069 cowtour 看不懂题意
描述 农民John的农场里有很多牧区.有的路径连接一些特定的牧区.一片所有连通的牧区称为一个牧场.但是就目前而言,你能看到至少有两个牧区通过任何路径都不连通.这样,农民John就有多个牧场了. Joh ...
- [转] - SendMessage、PostMessage原理
SendMessage.PostMessage原理 本文讲解SendMessage.PostMessage两个函数的实现原理,分为三个步骤进行讲解,分别适合初级.中级.高级程序员进行理解,三个步骤分别 ...
- handler的理解笔记
应用程序启动时,Android首先会开启一个主线程,如果此时需要一个耗时的操作,你不能把这些操作放在主线程中,如果你放在主线程中的话,界面会出现假死现象,这个时候我们需要把这些耗时的操作,放在一个子线 ...
- jquery CDN(内容分发网络)使用
jquery CDN 给开发者提供一种捷径,即不下载jquary 就通过CDN能使用各个版本的jquery. 使用方法很简单,就是在HTML 文档中引用相关版本的jquery. 例如:我用百度的CDN ...
- 反汇编一个dos软盘的启动扇区
来源:http://www.ata-atapi.com/hiwdos.htm,自己乱译了一通. Disassembly of a DOS Floppy Boot Sector 反汇编一个dos软盘的启 ...
- PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [1] 单例模式连接数据库
单例模式 单例模式三大原则: ① 构造函数需要标记为非 public (防止外部使用 new 操作符创建对象),单例类不能在其他类中实例化,只能被自身实例化: ② 拥有一个保存类的实例的静态成员变量 ...