$watch和$observe的使用
$observe 是Attribute对象的一个方法,用来监听DOM中属性值的变化。比如 attr1="{{name}}"
Attribute定义在directive中的link函数的第三个参数上。所以$observe只能用在directive中。
可以看到它的回调函数只有一个参数,就是新值。
.directive('myCustomer', function(){
return {
link: function(scope, element, attrs) {
attrs.$observe('attr1', function(newVal) {
//....
})
}
}
})
总结如下:
$observe只能用在directive,$watch没有那么多限制,$watch是scope对象上的方法,所以可以用在控制器或者是directive的link方法中。
$observe只能用监听DOM属性值的变化,$watch可以监听表达式,表达式可以是一个函数或字符串。如果是字符串会使用$parse转换为函数。字符串表达式不能包含{{}}。
$observe的回调函数有newValue, $watch有oldValue和newValue
随机推荐
- word问题
- Oracle特殊恢复原理与实战(DSI系列)
1.深入浅出Oracle(DSI系列Ⅰ) 2.Oracle特殊恢复原理与实战(DSI系列Ⅱ) 3.Oracle SQL Tuning(DSI系列Ⅲ)即将开设 4.Oracle DB Performan ...
- [翻译] SCViewShaker
SCViewShaker https://github.com/rFlex/SCViewShaker About A highly configurable UIView category for s ...
- 企业级实时数据文件同步服务_【all】
全网数据定时备份方案[cron + rsync] [更多参考]全网数据定时备份方案[cron + rsync] 全网数据实时备份方案[inotify,sersync] [更多参考]全网数据实时备份方案 ...
- Maven构建时跳过部分测试
当遇到以下场景: 其他人写的单元测试影响统计结果 一些需要调用外部接口的测试暂不运行 需要在非本机环境上运行一些不回滚的单元测试 则有必要选择以下方法跳过部分测试. 在测试用例前加上注解 @Ignor ...
- java开发初识
jdk目录相关介绍: bin:存放的是java的相关开发工具 db:顾名思义jre附带的轻量级数据库 include:存放的是调用系统资源的接口文件 jre:java的运行环境 lib:核心的类库 s ...
- 在centos上安装smplayer播放器
Smplayer是一个非常好用的媒体播放器.可以支持大部分的视频和音频文件.它支持音频轨道切换.允许调节亮度.对比度.色调.饱和度.伽玛值,按照倍速.4倍速等多种速度回放.还可以进行音频和字幕延迟调整 ...
- Java并发编程--2.synchronized
前言 synchronized关键字是互斥锁,也称为内部锁 每个对象都有自己的monitor(锁标记),它是为了分配给线程,最多一个线程可以拥有对象的锁 使用 synchronized修饰成员方法,锁 ...
- virtualbox+vagrant学习-2(command cli)-6-vagrant init命令
Init——创建Vagrantfile文件 格式: vagrant init [options] [name [url]] 通过创建初始的Vagrantfile文件(如果不存在的话),将当前目录初始化 ...
- gulp插件 run-sequence(同步执行任务)
功能描述 gulp默认使用最大并发数执行任务,也就是说所有的任务几乎都是同时执行,而不会等待其它任务.但很多时候,任务是需要有先后次序的,比如要先清理目标目录,然后再执行打包. run-sequenc ...