Отключить элемент списка - angularjs

Я создаю навигационную систему в AngularJS. Некоторые ссылки должны быть отключены, потому что пользователь не соответствует требованиям.

Я посмотрел в угловую документацию и понял, что вы не можете использовать ng-disabled на элемент списка. Так что я использую ng-class серым цветом пункты списка. Вот HTML-код, который я сейчас использую:

<li id="first">
   <div ng-click="vm.navigateTo(0)">
      <label translate="{{vm.translationKeys[0]}}"></label>
   </div>
 </li>

 <li>
    <div ng-click="vm.navigateTo(1)">
       <label translate="{{vm.translationKeys[1]}}" ng-class="{'hasRequests': vm.programHasRequests == false && vm.currentStepNumber != 1}"></label>
    </div>
 </li>

 <li>
    <div ng-click="vm.navigateTo(2)">
       <label translate="{{vm.translationKeys[2]}}" ng-class="{'hasRequests': vm.hasRequestIdInUrl == false}"></label>
    </div>
 </li>

<li id="last">
   <div ng-click="vm.navigateTo(3)">
      <label translate="{{vm.translationKeys[3]}}" ng-class="{'hasRequests': vm.hasRequestIdInUrl == false}"></label>
   </div>
</li>

Есть ли способ заставить работать ng-disabled над элементами списка, потому что теперь я все еще могу нажимать на элементы списка, даже когда применяется класс ng.

Спасибо за помощь,

Привет, Брент

1 ответ

Решение

Вы не можете отключить элемент списка. Вы можете отключить элемент списка путем изменения цвета с помощью CSS. Таким же образом вы можете справиться с этим на JavaScript. Проверьте, отключено это или нет. Тогда делай поток.

<li>
    <div ng-click="vm.navigateTo(1,vm.translationKeys)">
       <label translate="{{vm.translationKeys[1]}}" ng-class="vm.programHasRequests == false ? 'Redirect':'NotRedirect'"></label>
    </div>
</li>

В функции 'navigateTo' вам нужно проверить, перенаправлять или нет по второму параметру.

Другие вопросы по тегам