[英]child directive access every parent directive
我正在嘗試在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>
問題似乎在$interval
函數的mcsSliderHandle
指令內部。 您正在使用$('.min-slider-handle')
來查找該類的所有元素! 您只需要檢索當前指令內的元素。 錯了,但是在這里打工
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.