我正在使用此https://github.com/prajwalkman/angular-slider,我正在尝试绑定似乎内置于指令中的滑块事件onStart
和onMove
。
模块的HTML是
<slider floor="0" ceiling="100" step="1" precision="1" ng-model="playhead" id="seekBar"></slider>
我希望能够在我的控制器中使用这些事件。我试过了:
seekBar.addEventListener('onMove', function(event){...});
但是没有运气。任何人都可以解释我应该如何使用我的控制器中的这些事件吗?
答案 0 :(得分:1)
由于您愿意编辑指令的源代码,您可以在自己的内部onMove处理程序中注入自己的Angular $ emit:
// emit 'onMove' up the scope chain
scope.$emit('move');
然后,假设您的控制器范围是指令的父级,您只需将以下内容插入控制器:
$scope.$on('move', function(){
console.log("move fired");
});
你可能会考虑debouncing事件的处理,以避免对事件做出过多的反应 - 这对你有用,取决于你正在做什么。