Maison > Questions et réponses > le corps du texte
假设我们自定义一个指令
angular.module.directive('sayHello', function(){
return {
restrict: 'A',
...
}
})
偶然间看到过这样的写法
<p say-hello="sth"></p>
我记得一般都是在指令里指定scope
选项,然后定义一个开头是=
的内部属性,从DOM里把数据传递到指令指令里面.
请问直接在指令sayHello上赋值,那么controller
里的$scope.sth
会被传到指令里吗?
或者这种用法的原理是什么,求解答
大家讲道理2017-04-10 14:43:20
directive
的link
中可以获得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里有介绍