Angularjs $watch和$observe的使用说明

编程语言 12/13 阅读 630 views次 人气 0
摘要:

$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

评论

该文章不支持评论!

分享到: