将函数结果分配给angularjs中的一个或多个变量

时间:2015-09-12 12:42:38

标签: javascript angularjs function assign



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

app.controller('Ctrl', function($scope, $http){

	$scope.budget0=60;

	$scope.plusvalenzaResult = 0;

	$scope.calcoloBudget = function(davendere, offerta, budg){
		   davendere = parseInt(davendere);
		   offerta = parseInt(offerta);
		   $scope.newBudget = budg - (offerta - davendere);
		   return $scope.newBudget;
	};
    $scope.plusvalenza = function(venduto, acquistato) {
    	
         $scope.plusvalenzaResult = venduto - acquistato;
         return $scope.plusvalenzaResult;

         };
         
    $scope.confronto = function(el1,el2){
    	
		el1=parseInt(el1);
		el2=parseInt(el2);
		
		if(el1>el2){
			
			return true;
			
		}
		else{
			
			return false;
			
		}
	};
	
	$http.get("rosa.php").success(function(data){
		
		$scope.rose=data;
		
	});
	
    $http.get("giocatoriLiberi.php").success(function(data){
    	
		$scope.giocLiberi=data;
		
	});	
	
	$scope.range = function(start, end) {
		
    var result = [];
    start = parseInt(start); 
    end = parseInt(end);
    
    for (var i = start; i <= end; i++) {
    	
        result.push(i);
        
    }
    return result;
    
    };
	


});
&#13;
<div ng-controller="Ctrl">
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% offerta1-->
<div class="row"> 
   
    <div class="col-md-3">
              <label>Vendere:</label> 
              <select ng-model="selectedItem1" ng-options="(rosa.nome+' '+rosa.costo) for rosa in rose"></select>
              <!--<p ng-model="selectedItem1">Selezionato: {{selectedItem1.nome}}</p>-->
       </div>
    <div class="col-md-3">
              <label>Acquistare:</label>
              <select ng-model="giocAcq1" ng-options="(lib.nome+' '+lib.costo) for lib in giocLiberi | filter:{ruolo:selectedItem1.ruolo}"></select>
              <!--<p ng-model="giocAcq1">Da acquistare: {{giocAcq1.nome}}</p>-->
    </div> 
    <div class="col-md-1">

              <label>Offerta:</label>
              <select ng-model="off0" style="width: 60px" ng-options="page for page in range(giocAcq1.costo, budget0--selectedItem1.costo)" ></select>        
    </div>
    <div class="col-md-3">
        <label></label>
        <div ng-model="budget0">Il tuo budget per questa offerta e': <b>{{budget0--selectedItem1.costo}}</b> fantamilioni</div> 
    	<!--<p ng-model="plus1" ng-show="selectedItem1.costo > giocAcq1.costo">Questa offerta ti garantisce una plusvalenza di {{plusvalenza(selectedItem1.costo,giocAcq1.costo)}} fantamilioni per la prossima busta</p>-->
    	<p ng-model="plus1" ng-show="confronto(selectedItem1.costo, giocAcq1.costo)">Questa offerta ti garantisce una plusvalenza di {{plusvalenza(selectedItem1.costo,off0)}} fantamilioni per la prossima busta nella quale avrai a disposizione </p>
    </div>

<!--<div class="col-md-1">
<button class="btn btn-default" ng-click="selectRosa()">Formalizza l'offerta</button>
 
</div>-->
</div>

<br />
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% offerta2-->
<div class="row"> 
    
    <div class="col-md-3">
             <label>Vendere:</label>
             <select ng-model="selectedItem2"  ng-options="(rosa.nome+' '+rosa.costo) for rosa in rose"></select>
             <p ng-model="selectedItem2">Selezionato: {{selectedItem2.costo}}</p>
    </div>
    <div class="col-md-3">
             <label>Acquistare:</label>
             <select ng-model="giocAcq2" ng-options="(lib.nome+' '+lib.costo) for lib in giocLiberi | filter:{ruolo:selectedItem2.ruolo}"></select>
             <p ng-model="giocAcq2">Da acquistare: {{giocAcq2.costo}}</p>  
    </div> 
    <div class="col-md-1">
             <label>Offerta:</label>
             <select ng-model="off1" style="width: 60px"  ng-options="page for page in range(giocAcq2.costo, budget0-off0--selectedItem2.costo)"></select>
    </div>
     <div class="col-md-3">
        <label></label>
        
        *<div ng-model="budget1" ng-if="selectedItem1.costo < off0">Il tuo budget per questa busta dopo la seconda offerta è: <b>{{budget1=calcoloBudget(selectedItem1.costo, off0, budget0)}}</b> fantamilioni.</div>
        <div ng-model="budget1" ng-if="selectedItem1.costo > off0">Il tuo budget per questa busta dopo la seconda offerta è: <b>{{budget1=budget0}}</b> fantamilioni.</div>*
    	<p ng-model="plusvalenza2" ng-show="confronto(selectedItem2.costo, giocAcq2.costo)">Questa offerta ti garantisce una plusvalenza di {{plusvalenza(selectedItem2.costo,giocAcq2.costo)}} fantamilioni per la prossima busta nella quale avrai a disposizione</p>
    </div>
   
</div>
<br />
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% offerta3-->
<div class="row"> 
    
    <div class="col-md-3">
             <label>Vendere:</label>
             <select ng-model="selectedItem3"  ng-options="(rosa.nome+' '+rosa.costo) for rosa in rose"></select>
    </div>
    <div class="col-md-3">
             <label>Acquistare:</label>
             <select ng-model="giocAcq3" ng-options="(lib.nome+' '+lib.costo) for lib in giocLiberi | filter:{ruolo:selectedItem3.ruolo}"></select>
    </div> 
    <div class="col-md-1">
             <label>Offerta:</label>
             <select ng-model="off2" style="width: 60px"  ng-options="page for page in range(giocAcq3.costo, (budget0-off0-off1)--selectedItem3.costo)"></select>
    </div>
    <div class="col-md-3"> 
        <label></label>
        <!--<div ng-model="budget2">Il tuo budget dopo la seconda offerta e': <b>{{budget2=calcoloBudget(selectedItem2.costo, off1, budget1)}}</b> fantamilioni</div>-->
        *<div ng-model="budget2" ng-if="selectedItem2.costo < off1">Il tuo budget per questa busta dopo la seconda offerta è: <b>{{budget2=calcoloBudget(selectedItem2.costo, off1, budget1)}}</b> fantamilioni.</div>
        <div ng-model="budget2" ng-if="selectedItem2.costo > off1">Il tuo budget per questa busta dopo la seconda offerta è: <b>{{budget2budget1}}</b> fantamilioni.</div>*
    	<p ng-model="plusvalenza3" ng-show="confronto(selectedItem3.costo, giocAcq3.costo)">Questa offerta ti garantisce una plusvalenza di {{plusvalenza(selectedItem3.costo, giocAcq3.costo)}} fantamilioni per la prossima busta</p>
    </div>
</div>
<br />
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% offerta4-->
<div class="row"> 
    
    <div class="col-md-3">
             <label>Vendere:</label>
             <select ng-model="selectedItem4"  ng-options="(rosa.nome+' '+rosa.costo) for rosa in rose"></select>
    </div>
    <div class="col-md-3">
             <label>Acquistare:</label>
             <select ng-model="giocAcq4" ng-options="(lib.nome+' '+lib.costo) for lib in giocLiberi | filter:{ruolo:selectedItem4.ruolo}"></select>
    </div> 
    <div class="col-md-1">
             <label>Offerta:</label>
     <select ng-model="off3" style="width: 60px"  ng-options="page for page in range(giocAcq4.costo, (budget0-off0-off1-off2)--selectedItem4.costo)"></select>
    </div>
    <div class="col-md-3">
        <label></label>
      
       *<div ng-if="selectedItem3.costo < off2">{{budget3=calcoloBudget(selectedItem3.costo, off2, budget2)}}</div>
        <div ng-if="selectedItem3.costo > off2">{{budget3=budget2}}</div>*
    	<p ng-model="plusvalenza4" ng-show="confronto(selectedItem4.costo, giocAcq4.costo)">Questa offerta ti garantisce una plusvalenza di {{plusvalenza(selectedItem4.costo,giocAcq4.costo)}} fantamilioni per la prossima busta</p>
    </div>

</div>
<label></label>
<div ng-model="avanzo">Confermando queste offerte avrai a disposozione, per le prossime buste, un budget pari a <b>{{calcoloBudget(selectedItem4.costo, off3, budget3)}}</b> più le plusvalenze indicate al lato di ogni offerta.</div>
</div>
&#13;
&#13;
&#13;

我的实际问题在于赋值函数的结果是不同的变量: budget1=calcoloBudget(arg1,arg2,arg3)budget1=budget0仅在第一次有效, 在第二个作业中budget2=calcoloBudget(arg4, arg5, arg6)budget2=budget1不起作用。 所以在第三个assignemmen。我不知道为什么? 我想不可能多次分配一个变量。有什么建议吗?

0 个答案:

没有答案