Подтвердить что ты не робот

Отключить ng-click при определенных условиях применения для всех типов элементов

В моем приложении я связал несколько элементов с директивой ng-click, как показано ниже

<a ng-click="DoSomething()"/>
<button ng-click="DoSomethingElse()">xyz</button>
<span ng-click="DoSomething()"></span>

Теперь в моем приложении в определенных сценариях я хочу, чтобы поведение по умолчанию ng-click происходило по умолчанию, но в некоторых сценариях я хочу полностью отключить функцию обратного вызова (DoSomething(), DoSomethingElse()..), которая будет вызываться..

Для проверки этих сценариев у меня есть одна переменная области действия $scope.IsClickEnable = true/false;

Итак, как я могу выполнить такое поведение?

Я могу использовать ng-disable для отключения элементов, но он будет работать только с элементами типа кнопок, поэтому это не будет работать в моем сценарии

И я также могу проверить условия в каждом вызове функции, но я хочу более конкретный способ выполнить это, переопределив поведение ng-click или что-то в этом роде.

4b9b3361

Ответ 1

Сделайте следующее:

<button ng-click="!IsClickEnable||DoSomethingElse()">xyz</button>

когда значение IsClickEnable истинно, тогда функция будет вызываться при нажатии кнопки, тогда функция "DoSomethingElse()" будет вызвана иначе, она не будет вызвана