У меня есть кнопка, я нажимаю на нее, и она вызывает коллапс в div. Я пытаюсь найти способ проверить, расширен ли div или нет, поэтому я могу изменить текст на кнопке «Показать» или «скрыть».
В настоящее время я использую
ng-click = "toggle = !toggle"
С участием
$scope.toggle = true;
$scope.$watch('toggle', function () {
$scope.toggleText = $scope.toggle ? 'Show' : 'Hide';
})
Какого рода проблема заключается в том, что коллапс имеет время анимации, поэтому вы можете дважды щелкнуть кнопку, и текст переключателя не будет синхронизироваться с фактическим состоянием div свертывания.
Я нашел упоминание о расширении арии
var isExpanded = $(collapsableRegion).attr("aria-expanded");
Но я не понимаю, что нужно установить для «collapsableRegion», и я не могу найти никакой документации по «.attr», чтобы понять, что именно такое collapsableRegion (ID, Name, class и т. д.)
Это, наверное, очень просто.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вместо того, чтобы пытаться установить текст в вашем контроллере, почему бы просто не установить его в разметке?
<button ng-click = "toggle = !toggle">{{ toggle ? 'Show' : 'Hide' }}</button>
Конечно, но это дает тот же результат, он не проверяет, свернут ли переключатель данных / цель или нет, в результате чего двойной щелчок по-прежнему не синхронизируется с текстом.