gpt4 book ai didi

javascript - 优化 AngularJS ngHide 属性

转载 作者:行者123 更新时间:2023-12-03 11:37:18 24 4
gpt4 key购买 nike

 <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>

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

最佳答案

您可以使用 ng-init 只调用该函数一次:

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

然后您可能应该将比较放在 Controller 中。

<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;
}
};
}

关于javascript - 优化 AngularJS ngHide 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26431102/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com