ng-click angular js 中的三元条件

Ternary condition in ng-click angular js

HTML 中,我有一个 button,我在上面使用 ng-click 事件,如下所示:

ng-click="!user.name : openModel('lg') ? ''"

我是说,如果 user.name 没有定义,那么调用名为 openModel() 的函数,否则什么都不做。

但它正在生成错误

Error: $parse:syntax
Syntax Error

Syntax Error: Token ':' is an unexpected token at column 33 of the expression [!user.name :] starting at [{4}].

所以这里有什么问题?

谢谢。

不要在模板中放置任何条件表达式。在控制器代码中放置,

ng-click="openModel('lg')"

控制器:

$scope.openModel = function(value) {
    if ($scope.name) {
       Open();
    }
}

正确的语法是ng-click="!user.name ? openModel('lg') : angular.noop()"angular.noop() 是一个不执行任何操作的函数。