AngularJS - Zmień kontroler według warunku?

Mam prosty formularz z danymi podsumowującymi wciśnięte elementy (przez dodanie)

(JSBIN)

(700 = 300 + 400)

Forma jest związana zng-controller="OrderFormController"

Która wartość ma tę metodę:

$scope.total = function(){

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

        return total;
    };

Wszystko ok.

Ale spójrz na górę, jeśli zdjęcie, jest pole wyboru.

Kiedy jest zaznaczone, chcę to zrobićzupełnie inne obliczenia wewnątrz$scope.total

Powiedzmy, zamiastdodanie - zrobićmnożenie :

$scope.total = function(){

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

        return total;
    };

Oczywiście mogłem sprawdzić wewnątrz metody, czy pole wyboru jest zaznaczone, ale nie chcę tego robić.

Pytanie

Co to jestdobrze sposób (jestem angularjs beginner) ograniczania go do innej metody (zgodnie zchecked/unchecked)?

questionAnswers(3)

yourAnswerToTheQuestion