【发布时间】:2015-04-25 04:33:34
【问题描述】:
大家好,有什么方法可以扩展内置指令吗?
这就是我想做的。
例如我的指令模板是:
<div ng-click="condition && handleClick()" ng-transclude></div>
这里的条件是是否执行对 div 的点击,所以当我重用指令并使其嵌套时,我最终会这样。
注意:我的指令中的条件不会动态改变,这只是一个时间值。
<div ng-click="condition && handleClick()">
<div ng-click="condition && handleClick()">
<div ng-click="condition && handleClick()"></div>
</div>
</div>
所以现在的问题是,如果 ng-click 添加到 div 角度将 touchstart 或 click 和其他绑定到 div,我想避免这种绑定,由于这种绑定,许多不必要的事件被添加到 div 中不需要。
现在我想扩展 ng-click 指令,需要在将事件与元素绑定之前添加条件检查,如果条件为假,我将不绑定事件,否则如果为真,我将绑定事件。
为了解决这个问题,我可以编写自己的指令 ng-click-condition 并执行与 ng-click 相同的操作,但要进行条件检查,但如果这样做,我会导致代码重复和可维护性问题,所以我找到了一些重用内置指令的方法。
【问题讨论】:
标签: javascript angularjs angularjs-directive