我正在使用来自http://angular-ui.github.com/bootstrap/的手风琴指令,我需要更好地控制手风琴何时打开和关闭。
更准确地说,我需要手风琴组内的一个按钮,该按钮将关闭其父手风琴并打开下一个手风琴(所以基本上模仿如果 close-others 设置为 true 时单击下一个标题会做什么)。在允许关闭手风琴并打开下一个手风琴之前,我还需要进行一些验证,并且我还需要将其连接到手风琴标题上的单击事件。
我对 Angular 很陌生,我们目前正在将应用程序从 Backbone+JQuery 重写为 Angular。在 Backbone 版本中,我们使用 Twitter Bootstrap 手风琴,并使用 JQuery 打开和关闭它们。虽然我们仍然可以继续这样做,但我宁愿完全摆脱 JQuery DOM 操作,所以我正在寻找一个纯粹的角度解决方案。
我在验证方面尝试做的是
<accordion-group ng-click="close($event)">
在我的控制器中
event.preventDefault();
event.stopPropagation();
这显然不起作用,因为 DOM 元素被指令替换并且从未添加单击处理程序。我一直在查看源代码(并发现了一些非常好的未记录功能),但我什至不知道从哪里开始解决这个特定的挑战。我正在考虑分叉 angular-ui 并尝试将此功能添加到手风琴指令中,但如果我可以在不修改指令的情况下实现这一点,那就更好了。