在 angularjs 中使用 ng-hide 如何解决总和问题?
How to solve the totalsum issue while using ng-hide in angularjs?
我在我的应用程序中使用 MEAN 堆栈,AngularJS 作为我的前端。我正在尝试 hide
一个值并获得正确的 totalsum
值..My Plunker 如果 inclusive
是 checked or true
那么 exclusive
是假的该值应该需要隐藏,所以我使用了ng-hide
,该值也被隐藏了。但是总和值也像隐藏的独占值一样显示,所以我期望如果某些值被隐藏,总和值必须只计算其余值..例如:- 如果 inclusive
为真 exclusive
值为 hidden
那么独占总和值应该是 388
而不是 499
.......请看看 plunker 并帮助我同样感谢...
控制器:- 对于独占总和功能:-
.filter('totalSumPriceQty', function () {
return function (data, key1, key2) {
if (angular.isUndefined(data) && angular.isUndefined(key1) && angular.isUndefined(key2))
return 0;
var sum = 0;
angular.forEach(data,function(v,k){
sum = sum + (parseInt(v[key1]) - parseInt(v[key2])/100);
});
return sum;
}
})
.filter('totalSumPriceQtytwo', function () {
return function (data, key1, key2) {
if (angular.isUndefined(data) && angular.isUndefined(key1) && angular.isUndefined(key2))
return 0;
var sum = 0;
angular.forEach(data,function(v,k){
sum = sum + (parseInt(v[key1]) * parseInt(v[key2])/100);
});
return sum;
}
})
我的HTML:-
<td ><p ng-hide="mani.service_tax==false">{{(mani.invoice_quantity - mani.invoice_value_fob/100)}}</p></td>
<td ><p ng-hide="mani.exclusive==false">{{(mani.invoice_quantity * mani.invoice_value_fob/100)}}</p></td>
总和Html:-
<td>{{resultValue | totalSumPriceQty:'invoice_quantity':'invoice_value_fob'}}</td>
<td>{{resultValue | totalSumPriceQtytwo:'invoice_quantity':'invoice_value_fob'}}</td>
我创建了 Plunker 以供参考:- My Plunker
再举一个例子:-
这里一项包容性交易为真,另一项为假……我们使用 ng-hide 隐藏了假值……总和只需要计算真值,就像答案将是 34
..... 不像 127
请帮助我们...
对于每个过滤器,添加相同的逻辑以排除您用来隐藏的数据
filter('totalSumPriceQty', function () {
return function (data, key1, key2) {
if (angular.isUndefined(data) && angular.isUndefined(key1) && angular.isUndefined(key2))
return 0;
var sum = 0;
angular.forEach(data,function(v,k){
if(v.service_tax){
sum = sum + (parseInt(v[key1]) - parseInt(v[key2])/100);
}
});
return sum;
}
})
filter('totalSumPriceQtytwo', function () {
return function (data, key1, key2) {
if (angular.isUndefined(data) && angular.isUndefined(key1) && angular.isUndefined(key2))
return 0;
var sum = 0;
angular.forEach(data,function(v,k){
if(v.exclusive){
sum = sum + (parseInt(v[key1]) * parseInt(v[key2])/100);
}
});
return sum;
}
})
见分叉plnkr
我在我的应用程序中使用 MEAN 堆栈,AngularJS 作为我的前端。我正在尝试 hide
一个值并获得正确的 totalsum
值..My Plunker 如果 inclusive
是 checked or true
那么 exclusive
是假的该值应该需要隐藏,所以我使用了ng-hide
,该值也被隐藏了。但是总和值也像隐藏的独占值一样显示,所以我期望如果某些值被隐藏,总和值必须只计算其余值..例如:- 如果 inclusive
为真 exclusive
值为 hidden
那么独占总和值应该是 388
而不是 499
.......请看看 plunker 并帮助我同样感谢...
控制器:- 对于独占总和功能:-
.filter('totalSumPriceQty', function () {
return function (data, key1, key2) {
if (angular.isUndefined(data) && angular.isUndefined(key1) && angular.isUndefined(key2))
return 0;
var sum = 0;
angular.forEach(data,function(v,k){
sum = sum + (parseInt(v[key1]) - parseInt(v[key2])/100);
});
return sum;
}
})
.filter('totalSumPriceQtytwo', function () {
return function (data, key1, key2) {
if (angular.isUndefined(data) && angular.isUndefined(key1) && angular.isUndefined(key2))
return 0;
var sum = 0;
angular.forEach(data,function(v,k){
sum = sum + (parseInt(v[key1]) * parseInt(v[key2])/100);
});
return sum;
}
})
我的HTML:-
<td ><p ng-hide="mani.service_tax==false">{{(mani.invoice_quantity - mani.invoice_value_fob/100)}}</p></td>
<td ><p ng-hide="mani.exclusive==false">{{(mani.invoice_quantity * mani.invoice_value_fob/100)}}</p></td>
总和Html:-
<td>{{resultValue | totalSumPriceQty:'invoice_quantity':'invoice_value_fob'}}</td>
<td>{{resultValue | totalSumPriceQtytwo:'invoice_quantity':'invoice_value_fob'}}</td>
我创建了 Plunker 以供参考:- My Plunker
再举一个例子:-
这里一项包容性交易为真,另一项为假……我们使用 ng-hide 隐藏了假值……总和只需要计算真值,就像答案将是 34
..... 不像 127
请帮助我们...
对于每个过滤器,添加相同的逻辑以排除您用来隐藏的数据
filter('totalSumPriceQty', function () {
return function (data, key1, key2) {
if (angular.isUndefined(data) && angular.isUndefined(key1) && angular.isUndefined(key2))
return 0;
var sum = 0;
angular.forEach(data,function(v,k){
if(v.service_tax){
sum = sum + (parseInt(v[key1]) - parseInt(v[key2])/100);
}
});
return sum;
}
})
filter('totalSumPriceQtytwo', function () {
return function (data, key1, key2) {
if (angular.isUndefined(data) && angular.isUndefined(key1) && angular.isUndefined(key2))
return 0;
var sum = 0;
angular.forEach(data,function(v,k){
if(v.exclusive){
sum = sum + (parseInt(v[key1]) * parseInt(v[key2])/100);
}
});
return sum;
}
})
见分叉plnkr