2016-01-28 3 views
0

Я очень новичок, чтобы не только просить о помощи, но и использовать Angular, поэтому, пожалуйста, несите меня.

Ниже приведена копия моего кода calculator.js, который я использую для создания шкалы энергии для лампочек. Я сейчас застреваю в точке, где я хочу показать, сколько можно сэкономить на других лампах для пример ....

галогенные всего - Лампа накаливания общая
hal_total - inc_total

будет ли кто-то пожалуйста, будьте так добры, чтобы взглянуть на мой код и, возможно, мне точку в правильном направлении.

/* JavaScript Document */ 

    (function(){ 
    var app = angular.module('myCalculator',[]); 

    app.controller('calculatorcontroller',['$scope',function($scope){ 

    $scope.lumen_options = [375,600,900,1125,1600]; 
    $scope.current_lumens = 600; 
    $scope.current_cost = 12; 
    $scope.current_hours = 3; 
    $scope.current_years = 1; 
    $scope.current_bulbs = 1; 
    $scope.total_days = 365; 

    $scope.inc_conversion = .0625; 
    $scope.hal_conversion = .0450; 
    $scope.cfl_conversion = .0146; 
    $scope.led_conversion = .0125; 

    $scope.calculate = function(){ 

    $scope.inc_wattage = ($scope.current_lumens * $scope.inc_conversion).toFixed(1); 
    $scope.hal_wattage = ($scope.current_lumens * $scope.hal_conversion).toFixed(1); 
    $scope.cfl_wattage = ($scope.current_lumens * $scope.cfl_conversion).toFixed(1); 
    $scope.led_wattage = ($scope.current_lumens * $scope.led_conversion).toFixed(1); 

    if($scope.current_hours > 24){ $scope.current_hours = 24 } 

    var total_hours = $scope.total_days * $scope.current_hours; 
    var total_total = $scope.total_days * $scope.current_hours * $scope.current_years * $scope.current_bulbs; 
    var cost = $scope.current_cost/100; 

    $scope.inc_cost = ((($scope.inc_wattage * total_hours)/1000) * cost).toFixed(2); 
    $scope.hal_cost = ((($scope.hal_wattage * total_hours)/1000) * cost).toFixed(2); 
    $scope.cfl_cost = ((($scope.cfl_wattage * total_hours)/1000) * cost).toFixed(2); 
    $scope.led_cost = ((($scope.led_wattage * total_hours)/1000) * cost).toFixed(2); 

    $scope.inc_total = ((($scope.inc_wattage * total_total)/1000) * cost).toFixed(2); 
    $scope.hal_total = ((($scope.hal_wattage * total_total)/1000) * cost).toFixed(2); 
    $scope.cfl_total = ((($scope.cfl_wattage * total_total)/1000) * cost).toFixed(2); 
    $scope.led_total = ((($scope.led_wattage * total_total)/1000) * cost).toFixed(2); 

    } 

    $scope.calculate(); 

    }]);  

    })(); 
+0

Можете ли вы выделить код, который не работает? – nikhil

+0

Не можете ли вы просто положить что-то наподобие '{{hal_total-inc_total}}' внутри 'div' внутри вашего контроллера в html? – Cameron

+0

Вы также можете показать свой HTML-код? –

ответ

0

принять этот plnkr, например: http://plnkr.co/edit/9J3CIyoC06k45R0JJR4i?p=preview

один способ, которым Вы можете отобразить вычисленную разность является вычисление его встроенного в шаблоне:

{{inc_total - hal_total}} 

еще один полезный кусок при выполнении встроенных вычислений для использования фильтра углового числа, https://docs.angularjs.org/api/ng/filter/number; этот код будет отображаться расчетным числом с двумя знаками после запятой:

{{inc_total - hal_total | number:2}} 
+0

Огромное вам спасибо, Cameron & Paul - это именно то, что я искал, и, как всегда, я смотрел на самое трудное решение чего-то, что должно быть так просто. –

0

ИТАК Кэмерон дал мне ответ первый прочь, а затем Павел очень любезно предложил десятичное место кода, простой ответ, чтобы добавить следующий код в пределах div (или в моем случае абзац) ....

{{inc_total - hal_total | number: 2}}