1

我正在 AngularJS 中创建一个面包屑导航。由于用户不符合要求,应禁用某些链接。

我查看了角度文档,发现您不能ng-disabled在列表项上使用。所以我使用 ang-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-class,我仍然可以单击列表项。

感谢您的帮助,

问候,布伦特

4

1 回答 1

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' 函数中,您需要通过第二个参数检查是否重定向。

于 2016-11-30T08:23:45.400 回答