为什么在LI元素上使用ng-show可以点击内部的A元素

15 浏览
0 Comments

为什么在LI元素上使用ng-show可以点击内部的A元素

我正在使用ui-router进行导航。

其中一个菜单项可以被点击打开和关闭,我使用ng-show和一个变量实现。

这个功能运行良好,然而,当li元素被隐藏时,鼠标仍然变成手型,可以点击链接,此时用户仍然可以进入"testing"页面:

  • {{'MENU_TESTING' | translate}}
  • 我该如何使链接不仅消失而且不可用?

    0
    0 Comments

    问题原因:

    当使用ng-show指令在li元素上时,li元素仍然存在于DOM中,只是在界面上被隐藏。因此,内部的a元素仍然可以被点击,即使它们在界面上不可见。

    解决方法:

    可以使用ng-if指令代替ng-show指令来解决这个问题。ng-if指令会根据条件动态地添加或移除元素,而不是简单地隐藏或显示元素。这样,当条件不满足时,li元素会被完全从DOM中移除,从而避免了内部a元素可以被点击的问题。

    下面是使用ng-if指令重写的代码示例:

  • {{'MENU_TESTING' | translate}}
  • 0