我有一个自定义指令,需要在定义它的元素上查看mousemove
事件。在这种情况下是否可以使用ng-mousemove
,但是传递给ng-mousemove
的函数是指我的自定义指令范围内的方法。例如:
HTML
<div my-directive ng-mousemove="go()"></div>
自定义指令:
...
scope: true,
link: function(){
$scope.go = function () { ... };
}
我意识到我可以在我的指令中创建事件监听器来监视mousemove
事件,但这似乎违反了标准的Angular方法。
答案 0 :(得分:1)
依赖于指令范围内的任意函数看起来不像“完全封装”,更像是与它相反。顺便说一下,你无论如何也做不到。
标准角度方法就是这样的
app.directive('myDirective', function () {
return {
scope: true,
transclude: true,
template: '<div ng-transclude ng-mousemove="go()"></div>',
link: function (scope){
scope.go = function () { ... };
}
};
});