我正在尝试在angularJS中执行slider
。我有一个带有事件监听器的子指令。当监听主事件(mousedown
)时,它从父指令(通过控制器)调用函数并更改各种html元素的样式。当页面上只有一个指令时,它就像一个魅力。如果有多个,则调用每个父控制器。
我不明白为什么。
Plknr:http://plnkr.co/edit/9vGXxjDbqqEOzLcXRkoW?p=preview
家长指示:
return {
restrict: 'EA',
scope: {
sliderStep: '@',
sliderBothHandles: '@',
sliderMinVal: '=', //value min handle
sliderMaxVal: '=', //value max handle
sliderMin: '@', //minimum value authorized
sliderMax: '@' //maximum value authorized
},
templateUrl: 'slider_template',
controller: sliderController,
transclude: true
};
儿童指令:
return {
restrict: 'EA',
link: link,
require: '^mcsSlider',
scope: true
};
标记:
<mcs-slider slider-step="1" slider-max-val="formCtrl.value1" slider-min="0" slider-max="7200">
<div mcs-slider-handle class="slider-handle max-slider-handle round" aria-valuemin="0" aria-valuemax="7200" aria-valuenow="{{formCtrl.value1}}" tabindex="0" style="left:0%;"></div>
</mcs-slider>
答案 0 :(得分:1)
问题似乎在mcsSliderHandle
函数中的指令$interval
内。
您正在使用$('.min-slider-handle')
来查找该类的所有元素!
您只需要检索当前指令中的元素。
错误但正在工作的人员here