来自angular指令的绑定事件

时间:2014-05-09 18:13:48

标签: angularjs angularjs-directive

我正在使用此https://github.com/prajwalkman/angular-slider,我正在尝试绑定似乎内置于指令中的滑块事件onStartonMove

模块的HTML是

<slider floor="0" ceiling="100" step="1" precision="1" ng-model="playhead" id="seekBar"></slider>

我希望能够在我的控制器中使用这些事件。我试过了:

seekBar.addEventListener('onMove', function(event){...});

但是没有运气。任何人都可以解释我应该如何使用我的控制器中的这些事件吗?

1 个答案:

答案 0 :(得分:1)

由于您愿意编辑指令的源代码,您可以在自己的内部onMove处理程序中注入自己的Angular $ emit:

// emit 'onMove' up the scope chain
scope.$emit('move');

然后,假设您的控制器范围是指令的父级,您只需将以下内容插入控制器:

$scope.$on('move', function(){
  console.log("move fired");
});

Plunker demo

你可能会考虑debouncing事件的处理,以避免对事件做出过多的反应 - 这对你有用,取决于你正在做什么。