2017-01-21 7 views
0

から更新を取得"voci"が更新され、ビューに印刷されますが、動作しません。私が行っている Herewhat:私、そして私は機能<strong>「CalcolaTotaleEuroPagine」</strong>で配列を更新コントローラを持って 、私は名前<strong>「VOCI」</strong>で工場に宣言された配列を持つ配列は、工場出荷時(角JS)

JS

var LandingApp = angular.module('LandingApp',[]); 

//SERVICE THAT RETURN ARRAY 
LandingApp.factory('PreventivoTotaleFront', function() { 
    var voci = {}; 
    voci.lista = []; 

    return { 
     add: function (voce) { 
     voci.lista.push({ 
      id: voci.lista.length, 
      costo: voce 
     }); 
     console.log(voci); 
    } 
    }; 
    return voci; 
}); 


//CONTROLLER THAT UPDATE ARRAY 
LandingApp.controller('numberpages',function($scope,PreventivoTotaleFront){ 

    $scope.primapagina = 150; 
    $scope.altrepagine = 90; 
    $scope.numeroaltrepagine = 0; 
    $scope.TotaleEuroPagine = 0; 

    $scope.CalcolaTotaleEuroPagine = function(){ 
     return $scope.TotaleEuroPagine = $scope.altrepagine * $scope.numeroaltrepagine + $scope.primapagina; 
     PreventivoTotaleFront.add(TotaleEuroPagine); 
    }; 

}); 

HTML

<body ng-app="LandingApp"> 
    <div class="container"> 

     <form ng-controller="numberpages"> 

      <label>N° Pagine interne: </label><input type="number" min="0" ng-model="numeroaltrepagine" ng-change="CalcolaTotaleEuroPagine()"></input> 
      <br/>{{TotaleEuroPagine | currency:""}}€<br/> 

      <!--PRINT THE ARRAY VOCI--> 
      <div>{{voci}}</div> 
     </form> 

    </div> 
</body> 

答えて

0

あなたは番目から返さ

$scope.CalcolaTotaleEuroPagine = function(){ 
return $scope.TotaleEuroPagine = $scope.altrepagine * $scope.numeroaltrepagine + $scope.primapagina; 
PreventivoTotaleFront.add(TotaleEuroPagine); 
}; 

文のmisorderがありますeファクトリを呼び出す前に機能します。したがって、ファクトリは配列を更新しません。 は、return文

+0

前にこのラインPreventivoTotaleFront.add(TotaleEuroPagine);を入れて今ではTypeError例外を返します。DBGはにconsole.log –

+0

$ scope.TotaleEuroPagine = $ scope.altrepagine * $ scope.numeroaltrepagine + $ scope.primapaginaで定義されていません。 PreventivoTotaleFront.add(TotaleEuroPagine); return $ scope.TotaleEuroPagine; – Shubhranshu

+0

これはうまくいきますが、ビュー内の配列{{voci}}は表示されません –

関連する問題