Хочу минимизировать код
if($scope.mUnit === 'GC'){
pay.amountMin = new BigNumber(pay.amountMin).plus(metersAmount).toFixed(2);
}
if($scope.mUnit === 'KW'){
pay.amountMin = new BigNumber($scope.KW).times(item.difference).times(meters.Tariff).toFixed(2);
}
if($scope.mUnit === 'MW'){
pay.amountMin = new BigNumber($scope.MW).times(item.difference).times(meters.Tariff).toFixed(2);
}
if($scope.mUnit === 'GJ'){
pay.amountMin = new BigNumber($scope.GJ).times(item.difference).times(meters.Tariff).toFixed(2);
}
на такой
if($scope.mUnit === 'GC'){
pay.amountMin = new BigNumber(pay.amountMin).plus(metersAmount).toFixed(2);
}else{
pay.amountMin = new BigNumber($scope.chosenUnit).times(item.difference).times(meters.Tariff).toFixed(2);
}
Пытаюсь подставить $scope.chosenUnit значение которое передается, таким образом
$scope.mUnit = meterUnit;
$scope.chosenUnit = '$scope.' + $scope.mUnit;
Юнит это KW,MW,GJ, их значение ниже. Но получается что $scope.chosenUnit становится строкой и скрипт не срабатывает как нужно. Скоуп по идее это же обьект? как его перевести в обьект или возможно есть другой вариант решения ? Мне в итоге нужно что бы на месте $scope.chosenUnit было одно из (смотря что получаю)
$scope.KW = 0.0008598;
$scope.MW = 0.8598;
$scope.GJ = 0.239;