Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 优化AngularJS ngHide属性 PO#[[inactive.poNumber]]_Javascript_Angularjs_Angularjs Ng Repeat - Fatal编程技术网

Javascript 优化AngularJS ngHide属性 PO#[[inactive.poNumber]]

Javascript 优化AngularJS ngHide属性 PO#[[inactive.poNumber]],javascript,angularjs,angularjs-ng-repeat,Javascript,Angularjs,Angularjs Ng Repeat,我想优化代码 如果getStatusIcon(inactive.currentStatus.code).statusDesc(过期,拒绝) 我们正在隐藏span标签。现在我们正在调用该函数3次。 是否有方法检查getStatusIcon(inactive.currentStatus.code).statusDesc(过期,拒绝)。 仅调用函数一次。您可以使用ng init仅调用函数一次: <span ng-hide="(getStatusIcon(inactive.currentStat

我想优化代码 如果getStatusIcon(inactive.currentStatus.code).statusDesc(过期,拒绝) 我们正在隐藏span标签。现在我们正在调用该函数3次。 是否有方法检查getStatusIcon(inactive.currentStatus.code).statusDesc(过期,拒绝)。
仅调用函数一次。

您可以使用ng init仅调用函数一次:

 <span ng-hide="(getStatusIcon(inactive.currentStatus.code).statusDesc) =='Expired' ||
                (getStatusIcon(inactive.currentStatus.code).statusDesc) =='Rejected' ||
                (getStatusIcon(inactive.currentStatus.code).statusDesc) =='Refused'">
 PO# [[inactive.poNumber]] 
 </span>

PO#[[inactive.poNumber]]
然后,您可能应该在控制器中放置分区

  <span ng-init="statusDesc = getStatusIcon(inactive.currentStatus.code).statusDesc" 
        ng-hide="(statusDesc) =='Expired' || 
                 (statusDesc) =='Rejected' || 
                 (statusDesc) =='Refused'">
  PO# [[inactive.poNumber]] 
  </span>

PO{{inactive.poNumber}
函数mainCtrl($scope){
$scope.isInvalidStatusDesc=函数(statusDesc){
开关(状态描述){
“过期”案例:
“驳回”案件:
“拒绝”一案:
返回true;
违约:
返回false;
}
}; 
}

编写一个在控制器中执行此操作的JS函数。您的代码不可读,请尝试在多行上重新组织它(您也可以通过这样做来解决问题)。
<span ng-init="statusDesc = getStatusIcon(inactive.currentStatus.code).statusDesc" 
      ng-hide="isInvalidStatusDesc(statusDesc)">
PO# {{inactive.poNumber}}
</span>

function mainCtrl($scope) {
    $scope.isInvalidStatusDesc = function(statusDesc) {
      switch (statusDesc) {
        case 'Expired':
        case 'Rejected':
        case 'Refused':
          return true;
        default:
          return false;
      }
    }; 
}