Angular JS | 什么传递ng-click三元运算符什么都不做

Vic*_*ick 13 javascript angularjs

我正在尝试使用三元运算符(?:)启用基于条件的ng-click

ng-click="hasPermission?Update():...."

在三元运算符的最后一个参数中,我可以通过什么,以便不会发生任何事情.

另外,我不想在我的JS中创建任何虚函数或者将任何不相关的条件写为1 = 1

pix*_*its 24

提供了angular.noop()来解决您的场景:

<div ng-click="hasPermission ? Update() : angular.noop()">
Run Code Online (Sandbox Code Playgroud)

noop()是一个不执行任何操作的函数.

文件在这里


Ami*_*ich 8

为什么不:

ng-click="Update()"

$scope.Update = function(){
   if($scope.hasPermission){
    // do something
   }
}
Run Code Online (Sandbox Code Playgroud)

它会更容易:
1.Debug.
2.阅读你的代码.
3.为功能中的代码添加条件.
4.清理你的htmls.

等等...


rye*_*lar 8

你可以这样做:

ng-click="hasPermission && Update()"
Run Code Online (Sandbox Code Playgroud)