0

如果条件存在,我试图隐藏一个选项,但该选项仍然存在。

这是我的代码:

<li role="presentation"><a role="menuitem" tabindex="-1" ng-disabled="disAplicar" ng-if="!hideBtnAplicar" ng-click="existenciaCero()">Aplicar Existencia Cero</a></li>

我的JS是:

$scope.disAplicar = $scope.datos.tipo == 'informativo' ? true : false;

你能帮我找出错误是什么吗?

提前致谢。

4

3 回答 3

1

如果你想模拟禁用一个a元素,你需要通过两种方式来实现:样式和行为。对于样式,有类似disabledCSS 类的东西,它使用ng-class="{ 'disabled': disAplicar }". 这将使它看起来被禁用,但要使其也被禁用,请确保您的ng-click函数考虑相同的条件。

$scope.existenciaCero = function() {
    if ($scope.disAplicar) {
        return;
    }
    // the rest of your code
}

如果您在而不是点击事件上使用hrefa除了我提到的禁用样式之外,您还需要这样的东西:

<a ng-href="{{ disAplicar ? '/someUrl' : '#' }}">My link</a>
于 2022-02-22T19:27:45.757 回答
1

在这种情况下,您应该真正使用 abutton而不是a标签,您可以在此处使用 CSS设置buttonlike标签的样式。a

<li role="presentation"><button role="menuitem" tabindex="-1" ng-disabled="disAplicar" ng-if="!hideBtnAplicar" ng-click="existenciaCero()">Aplicar Existencia Cero</button></li>
于 2022-02-23T00:30:18.743 回答
0

它比我想象的要容易。我只是使用 ng-hide 而不是禁用,就是这样!感谢大家。

于 2022-02-24T21:21:38.363 回答