我需要隐藏"当前的保险范围"当列表中所有封面的coverAmt为零或负值时。如果列表中的任何一个coverAmt是正值,那么我需要显示"当前保险范围"只有一次。
我试过这样的事情,但现在没有运气..!
dependencies = [
# ('some_app', 'XXXX_some_pre-requisite_migration'),
('socialaccount', '0001_initial'),
]
任何人都可以帮我这个..!感谢。
答案 0 :(得分:0)
首先,如果您在h4
内有ng-repeat
当前保险。如果您有多个正值,标题将多次出现
至于计算本身......而是在控制器中执行此操作,然后执行以下操作:
<li ng-repeat="cover in accSummary.response.covers">
<div class="account-detail-row">
{{ cover.Something }}
</div>
</li>
<h4 ng-hide="isCurrent">Current insurance cover</h4>
因此,在ajax请求/承诺的成功事件中,您可以这样做:
var total = 0;
$http({ // or whatever request mechanism you're using
url: someURL,
method: "POST",
data: "{}",
headers: { 'Content-Type': 'application/json' }
})
.success(function (data) {
angular.forEach(data.accSummary, function(value, key) {
total += data.accSummary["coverAmt"]
})
})
.finally(function() {
$scope.isCurrent = total <= 0;
})
或者您可以创建一个函数,然后从视图中传递整个集合。
您的计算功能可能如下所示:
$scope.isCurrent = function(covers) {
var total = 0;
for(var i = 0; i < covers.length; i++){
var cover = covers[i];
total += cover.coverAmt;
}
return total <= 0;
}
然后用法是用法:
<h4 ng-hide="isCurrent(accSummary.response.covers)">Current insurance cover</h4>
答案 1 :(得分:0)
尝试使用```ng-if``来控制当前保险保障的可见性。但是在ng-repeat的init上,运行一个循环遍历数组的调用来测试你的情况。
下面是一个示例:
<强> HTML:强>
<li ng-repeat="cover in accSummary.response.covers" ng-init="checkCover()">
<div class="account-detail-row col-xs-12 col-sm-12 col-md-12 padding-left12 padding-right12 padding-top24 padding-bottom12">
<h4 class="font-16 fontwt-400" ng-if="visible">Current insurance cover</h4>
</div>
</li>
<强> JS:强>
$scope.visible = false;
$scope.checkCover = function() {
angular.forEach(accSummary.response.covers, function(cover) {
if(cover.coverAmt > 0) { $scope.visible = true; return true; }
}
return false;
}
答案 2 :(得分:0)
您必须在控制器中计算如下:
app.controller("cover", function($scope){
$scope.covers = [{coverAmt: 10},{coverAmt: 0},{coverAmt: -1}];
$scope.showHeading = function(){
var flag = false;
for(var i=0; i<$scope.covers.length; i++)
{
if($scope.covers[i].coverAmount > 0)
{
flag = true;
break;
}
}
return flag;
};
});
HTML将
<h4 class="font-16 fontwt-400" ng-show="showHeading();">Current insurance cover</h4>