javascript - angular 指令里直接赋值是什么用法
PHP中文网
PHP中文网 2017-04-10 14:41:20
0
2
378

假设我们自定义一个指令

angular.module.directive('sayHello', function(){
    return {
        restrict: 'A',
        ...
    }
})

偶然间看到过这样的写法

<p say-hello="sth"></p>

我记得一般都是在指令里指定scope选项,然后定义一个开头是=的内部属性,从DOM里把数据传递到指令指令里面.
请问直接在指令sayHello上赋值,那么controller里的$scope.sth会被传到指令里吗?

或者这种用法的原理是什么,求解答

PHP中文网
PHP中文网

认证高级PHP讲师

reply all(2)
大家讲道理

directivelink中可以获得DOM属性值attrs
想要监听attrs改变的话,可以自定义一个watch
比如你这个

angular.module.directive('sayHello', function(){
    return {
        restrict: 'A',
        link: function(scope, element, attrs) {
            scope.$watch(attrs.sayHello, function(value) {
                console.log("say-hello", value);
            });
        }
    }
})

angularjs的Developer Guide里有介绍

左手右手慢动作

直接写=的话会。

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template