AngularJS - ng-disabled 没有禁用我的元素
AngularJS - ng-disabled is not disabling my element
如果条件存在,我试图隐藏一个选项,但该选项仍然存在。
这是我的代码:
<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;
你能帮我找出错误是什么吗?
提前致谢。
如果您想模拟禁用 a
元素,您需要通过两种方式进行:样式和行为。对于样式,使用 disabled
CSS class 之类的东西以编程方式应用 ng-class="{ 'disabled': disAplicar }"
。这将使它看起来被禁用,但要使其也被禁用,请确保您的 ng-click
函数考虑相同的条件。
$scope.existenciaCero = function() {
if ($scope.disAplicar) {
return;
}
// the rest of your code
}
如果您在 a
上使用 href
而不是点击事件,除了我提到的禁用样式之外,您还需要这样的东西:
<a ng-href="{{ disAplicar ? '/someUrl' : '#' }}">My link</a>
在这种情况下,您应该真正使用 button
而不是 a
标签,您可以在此处使用 [=17] 将 button
设置为 a
标签的样式=].
<li role="presentation"><button role="menuitem" tabindex="-1" ng-disabled="disAplicar" ng-if="!hideBtnAplicar" ng-click="existenciaCero()">Aplicar Existencia Cero</button></li>
这比我想象的要容易。我只是使用 ng-hide 而不是禁用,就是这样!谢谢大家。
如果条件存在,我试图隐藏一个选项,但该选项仍然存在。
这是我的代码:
<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;
你能帮我找出错误是什么吗?
提前致谢。
如果您想模拟禁用 a
元素,您需要通过两种方式进行:样式和行为。对于样式,使用 disabled
CSS class 之类的东西以编程方式应用 ng-class="{ 'disabled': disAplicar }"
。这将使它看起来被禁用,但要使其也被禁用,请确保您的 ng-click
函数考虑相同的条件。
$scope.existenciaCero = function() {
if ($scope.disAplicar) {
return;
}
// the rest of your code
}
如果您在 a
上使用 href
而不是点击事件,除了我提到的禁用样式之外,您还需要这样的东西:
<a ng-href="{{ disAplicar ? '/someUrl' : '#' }}">My link</a>
在这种情况下,您应该真正使用 button
而不是 a
标签,您可以在此处使用 [=17] 将 button
设置为 a
标签的样式=].
<li role="presentation"><button role="menuitem" tabindex="-1" ng-disabled="disAplicar" ng-if="!hideBtnAplicar" ng-click="existenciaCero()">Aplicar Existencia Cero</button></li>
这比我想象的要容易。我只是使用 ng-hide 而不是禁用,就是这样!谢谢大家。