子指令访问每个父指令
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>
问题似乎出在指令mcsSliderHandle
中,在 $interval
函数中。您正在使用$('.min-slider-handle')
,它将找到该类的所有元素!您只需检索当前指令中的元素。错了,但在这里工作
相关文章:
- Angularjs指令访问容器元素的属性
- 从多个控制器上的指令访问作用域的正确方法
- 在 Angular 中,如何从指令访问我编译的模板
- 如何从 ng-repeat(ng-repeat)中的指令访问控制器范围
- 从另一个指令访问指令的作用域变量
- AngularJS:如何从子指令访问父控制器的作用域项
- 如何从另一个指令访问指令的 DOM 元素
- 从 AngularJS 的自定义指令访问值
- 从指令访问$rootScope变量
- 子指令访问每个父指令
- 如何从2级指令访问控制器作用域
- AngularJS-从指令访问DOM元素
- 如何从另一个控制器中的指令访问作用域
- AngularJS指令访问相同的作用域对象——避免覆盖
- 按名称从指令访问作用域变量,避免使用eval
- 如何从编译器函数指令访问作用域
- Angular:指令访问表单元素
- 从我的控制器中的指令访问 blob (角度)
- AngularJS指令控制器's的作用域可以从外部指令访问,为什么?
- 使用'this'声明的变量var Vm = this"当使用指令访问时,在控制器中不反映值