У меня есть аккордеон, который я реализовал, используя aria-extended в моем приложении AngularJS. Это выглядит следующим образом:
<div aria-controls="something_{{$id}}" aria-expanded="false"
ng-click="vm.myFunction()" class="expansion-panel-toggler collapsed"
data-target="#something_{{$id}}" data-toggle="collapse"
id="something_header_{{$id}}" role="button">
Как вы можете видеть, есть функция контроллера, которая запускается при нажатии на аккордеоне. Это не идеальное решение. Это работает нормально, потому что функция запускается, когда аккордеон нажимается (и, следовательно, расширяется), но мне не нравится это по следующим двум причинам:
- Я только хочу, чтобы функция выполнялась когда аккордеон раскрывается, и текущее решение будет выполнять функцию как при развертывании, так и при свертывании
- Если функция выполняется по щелчку, связь между расширением аккордеона и функцией является косвенной. Я бы предпочел, чтобы он непосредственно определял расширение аккордеона, а не щелчок.
Легко ли это сделать, все еще используя aria-extended?