Я хочу переключить логическое событие щелчком, используя Angular. Это мой кодng-click toggle работает только при первом щелчке
<div class="nav_mobile" ng-click="mobilestatus.navActive = (mobilestatus.navActive == false) ? true : false">
<a href="" class="gradient-menu"></a>
</div>
<nav>
<ul class="nav_mobile_list" ng-class="{active: mobilestatus.navActive}">
<li><a ui-sref="about" ng-click="mobilestatus.navActive = false">About</a></li>
<li><a ui-sref="contact" ng-click="mobilestatus.navActive = false">Contact</a></li>
</ul>
</nav>
Контроллер выглядит следующим образом
angular.module('app').controller('NavCtrl', function ($scope){
$scope.mobilestatus = {navActive: false};
});
Я также попытался другие сокращенные обозначения. Исходное значение navActive
неверно. ng-click
на nav_mobile
делает атрибут navActive
истинным в первый раз, но при повторном нажатии он не возвращается к false. При нажатии на li
элементы navActive
вернутся к false. Любое предложение приветствуется.
Пробовал, не работает. Думаю, проблема в другом месте? – RobSeg
должен работать. может быть, вы должны добавить запятые в активный класс, как этот ng-class = "{'active': mobilestatus.navActive}" –
Thx для предложения в редакции. Я попробовал это, и что происходит, так это в журналах функций «статус истина», но после этого после этого элемент не будет доступен. Я могу только щелкнуть его один раз. Ничего не происходит, когда я снова нажимаю на него. – RobSeg