- 浏览: 5639 次
- 性别:
- 来自: 北京
最新评论
文章列表
http://www.material-ui.com/#/discover-more/community
http://blog.chinaunix.net/uid-26672038-id-4112229.html
$parse/$eval和$observe/$watch如何区分
大家在看angular的时候,有时候偶尔会看到$parse,$eval和$observe,$watch这两对语法,随着深入使用angular,就不可避免使用到它。
文章从内部运行机制跟实际需求的角度来解释这两对语法的区别。
原理
$parse和$eval
首先,$parse跟$eval都是用来解析表达式的, 但是$parse是作为一个单独的服务存在的。$eval是作为scope的方法来使用的。
$parse典型的使用是放在设置字符串表达式映射在真实对象上的值。也可以从$parse上直接获取到表达式对应的值。
var gette ...
name - 当前scope的名称,注册时可以使用默认值(不填)。
priority(优先级)- 当有多个directive定义在同一个DOM元素时,有时需要明确它们的执行顺序。这属性用于在directive的compile function调用之前进行排序。如果优先级相同,则执行顺序是不确定的(经初步试验,优先级高的先执行,同级时按照类似栈的“后绑定先执行”。另外,测试时有点不小心,在定义directive的时候,两次定义了一个相同名称的directive,但执行结果发现,两个compile或者link function都会执行)。
terminal(最后一组)- 如果设置为”true”,则表 ...
$interpolate
编译一段带有插入标记的语句,然后返回一个interpolation(插值)函数,
这个服务也被HTML$compile服务用来进行数据绑定。可以用$interpolateProvider来配置插入的标记。
依赖
$parse
$sce
使用
$interpolate(text, [mustHaveExpression], [tr ...
document.onreadystatechange = function(){
if(document.readyState=='complete'){
document.getElementById('page_overlay').style.display = "none";
}
};