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
)?