AngularJS - Alterar controlador por condição?

Eu tenho um formulário simples com dados que resumem os itens pressionados (via adição)

(JSBIN)

(700 = 300 + 400)

O formulário é delimitado comng-controller="OrderFormController"

Qual inturn tem este método:

$scope.total = function(){

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

        return total;
    };

Tudo bem.

Mas olhe para o topo, se a imagem, há uma caixa de seleção.

Quando estiver marcado, eu quero fazercálculo totalmente diferente dentro$scope.total

Digamos, em vez deAdição - Fazmultiplicação :

$scope.total = function(){

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

        return total;
    };

É claro que eu poderia verificar dentro do método se a caixa de seleção está marcada, mas não quero fazer isso.

Pergunta, questão

O que édireito maneira (eu sou iniciante no angularjs) de limitá-lo a um método diferente (de acordo comchecked/unchecked)?

questionAnswers(3)

yourAnswerToTheQuestion