AngularJS - Controller nach Bedingung ändern?

Ich habe ein einfaches Formular mit Daten, die die gepressten Artikel zusammenfassen (per Zusatz)

(JSBIN)

(700 = 300 + 400)

Das Formular ist begrenzt mitng-controller="OrderFormController"

Welcher Inturn hat diese Methode:

$scope.total = function(){

        var total = 0;
        angular.forEach($scope.services, function(s){
            if (s.active){
                total+= s.price;
            }
        });

        return total;
    };

Alles ok.

Aber schauen Sie oben, ob das Bild ein Kontrollkästchen enthält.

Wenn es angekreuzt ist, möchte ich tunganz andere berechnung Innerhalb$scope.total

Sagen wir stattZusatz - machenMultiplikation :

$scope.total = function(){

        var total = 1;
        angular.forEach($scope.services, function(s){
            if (s.active){
                total*= s.price;
            }
        });

        return total;
    };

Natürlich könnte ich in der Methode nachsehen, ob das Kontrollkästchen aktiviert ist, aber das möchte ich nicht.

Frage

Was ist derrichtig Art und Weise (ich bin ein Anfänger), es an eine andere Methode zu binden (nachchecked/unchecked)?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage