当变量等于时,AngularJS禁用ng-click

时间:2014-09-25 15:36:02

标签: javascript angularjs

<span class="column__list--total fa" ng-class="{'fa-check': skill.done == 1, 'fa-times red': skill.done == 0}" ng-click="skill.disabled || toggleSkill(skill.id, person.id)" ng-hide="$root.user[0].auth == 2"></span>

<span class="column__list--total fa" ng-class="{'fa-check': skill.done == 1, 'fa-times red': skill.done == 0}" ng-show="$root.user[0].auth == 2"></span>

目前我正在使用上述内容,它们同样相同,但当变量等于ng-hide时,将使用2隐藏其中一个

原因是我想在元素上禁用ng-click

我需要将其保留为两个单独的元素,还是可以在ng-click

时禁用$root.user[0].auth == 2

2 个答案:

答案 0 :(得分:2)

ng-click已经有条件,为什么不添加另一个?

ng-click="$root.user[0].auth == 2 || skill.disabled || toggleSkill(skill.id, person.id)"

答案 1 :(得分:0)

在执行任何其他代码之前,您可以在return;中执行toggleSkill()

$scope.toggleSkill = function(skill.id, person.id) {
    if ($root.user[0].auth == 2) {
        return;
    }

    // Rest of your code
}