Я использую стек MEAN в своем приложении с AngularJS как мой интерфейс. Я пытаюсь hide
значение и получить правильное значение totalsum
тоже. Мой Plunker, если inclusive
checked or true
exclusive
является ложным, поэтому значение должно скрываться, поэтому я использовал ng-hide
, значение также скрыто. но общее значение суммы также отображается как скрытое эксклюзивное значение, так что я ожидаю, если какое-то значение будет скрыто, значение totalsum должно вычисляться только остальными значениями значений. Например: если inclusive
true, exclusive
ценность hidden
тогда эксклюзивное значение totalsum должно быть 388
не таким, как 499
....... пожалуйста, посмотрите на плункер и помогите мне за то же спасибо...
Контроллер: - для эксклюзивных функций Totalsum: -
.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>
Totalsum Html: -
<td>{{resultValue | totalSumPriceQty:'invoice_quantity':'invoice_value_fob'}}</td>
<td>{{resultValue | totalSumPriceQtytwo:'invoice_quantity':'invoice_value_fob'}}</td>
Я создал Plunker для справки: - My Plunker
Еще один пример: -
Здесь одна инклюзивная транзакция истинна, другая ложь... мы использовали ng-hide, чтобы скрыть ложное значение... totalsum нужно вычислять истинное значение только как ответ будет 34
..... не нравится 127
PLS Помогите...
для каждого из фильтров добавьте ту же логику, чтобы исключить данные, которые вы используете, чтобы скрыть
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;
}
})
см. forked plnkr