Я использую angular-ui и начал использовать аккордеоны.Добавить событие ng-click для углового аккордеона
Мне нужно запустить событие ng-click
, когда кто-то открывает или закрывает группу аккордеона.
Я сделал некоторые исследования и нашел эту тему: angular-ui issue
Он связан с plunker который показывает решение, которое не является удовлетворительным для моего случая использования.
Вот решения HTML:
<accordion>
<accordion-group>
<accordion-heading>
<span ng-click="foo()">Try clicking me!</span>
</accordion-heading>
Some Body 3
</accordion-group>
</accordion>
Однако НГ щелкните событие срабатывает только при нажатии на текст поверочного. Если вы нажмете только вне текста, аккордеон все равно откроется или закрывается без какого-либо события клика.
Чтобы исправить это, я попытался сделать ширины пролетов & высота 100% и настройка дисплея: блок. Я также рассмотрел возможность удаления прокладки целиком, но мне было интересно, есть ли лучший способ, чем взломать его.
Кто-нибудь знает, как прикрепить событие ng-click ко всей группе гармоник? Или как сделать диапазон заполнять всю группу?
Мой весь код:
<accordion close-others="true">
<accordion-group ng-repeat="question in level">
<accordion-heading style="padding: 0">
<div style="display: block; margin: 0px" ng-click="set_question(question.title)">{{ question.title }}</div>
<i class="icon-check" ng-show="has_solved_all"></i>
</accordion-heading>
<span ng-bind-html-unsafe="question.content"></span>
</accordion-group>
</accordion>
<br>
Question Open: {{ question_open }}
Возможный дубликат [Ручной поиск/сбой событий Аккордеона в Угловом] (http://stackoverflow.com/questions/15642082/handle-open-collapse-events-of-accordion-in-angular) –