从 ng-click 调用的多个函数也使用延迟评估

Multiple function invoked from ng-click also using lazy evaluation

如果分配给作用域的变量 (notInProgress) 的计算结果为 true,我已经设法在元素上禁用 ngClick,如下所示:

<a data-ng-click="notInProgress || $ctrl.setTab('renewal');</a>

我现在需要添加更多函数,以便根据变量调用,如下所示:

<a data-ng-click="notInProgress || $ctrl.setTab('grantandpublishing'); 
                  notInProgress ||  activeLeft = 4;">
</a>

我已经尝试了上面的方法,但它一直返回错误:

Error: $parse:lval Trying to assign a value to a non l-value

问题

如果 notInProgress 的计算结果为 true,我如何向 ngClick 添加多个被禁用的函数?

您可以将该代码移动到单个函数中,如下所示。

<a data-ng-click="process($ctrl)"></a>
$scope.process = function($ctrl) {

   if (!$scope.notInProgress) {
         $ctrl.setTab('grantandpublishing');
          $scope.activeLeft = 4;
    }
}

这样您就可以在该函数中调用尽可能多的函数。 希望这可以帮助。如需进一步帮助,请告诉我。

为避免解析错误,请将赋值操作包含在bananas中:

<a data-ng-click="notInProgress || $ctrl.setTab('grantandpublishing'); 
                  notInProgress || (activeLeft = 4)">
</a>