私のアプリケーションでは、以下のような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の動作などをオーバーライドすることにより、これを達成するためのより具体的な方法が必要です。
次のようにします:
<button ng-click="!IsClickEnable||DoSomethingElse()">xyz</button>
isClickEnableの値がtrueの場合、ボタンクリックで関数が呼び出され、関数 'DoSomethingElse()'が呼び出されます。それ以外の場合は呼び出されません。