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

时间:2014-08-13 06:43:49

标签: javascript angularjs

我正在尝试使用三元运算符(?:)

启用基于条件的ng-click

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

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

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

5 个答案:

答案 0 :(得分:24)

提供了

angular.noop()来解决您的问题:

<div ng-click="hasPermission ? Update() : angular.noop()">

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

Documention Here

答案 1 :(得分:8)

为什么不:

ng-click="Update()"

$scope.Update = function(){
   if($scope.hasPermission){
    // do something
   }
}

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

等...

答案 2 :(得分:7)

你可以这样做:

ng-click="hasPermission && Update()"

答案 3 :(得分:4)

为什么不写你的

ng-click="hasPermission && Update()"

它将检查天气hasPermission是否为false / undefined / null它将调用update()

DEMO

只需在上面的演示版中更改$scope.has的值即可。见。

答案 4 :(得分:2)

三元运算符在ng-click中应该像这样写

<div ng-click="hasPermission ? Update() : DontUpdate()">