2015-10-09 3 views
0

J'utilise une pile MEAN. En chargeant une page, je tire des données. Sur la base de ces données, je fais des calculs. J'ai essayé de faire des calculs basés sur le modèle $resolved. Je cherchais à voir s'il y avait un événement que je pourrais déclencher?

Voici ce qu'on appelle le ng-init

// Find existing Vital 
$scope.findOne = function() { 
    $scope.vital = Vitals.get({ 
     vitalId: $stateParams.vitalId 
    }); 
}; 

Si je tente d'appeler mon calculate() tout de suite, comme ci-dessous, il échoue parce que les données ne sont pas encore là

// Find existing Vital 
$scope.findOne = function() { 
    $scope.vital = Vitals.get({ 
     vitalId: $stateParams.vitalId 
    }); 
    $scope.calculate(); 
}; 
+0

S'il vous plaît montrer le code que vous avez et assurez-vous de le rendre aussi simple que possible afin de faire c'est clair ce que vous demandez. –

+0

Que fait exactement la fonction '.get'? Est-ce une fonction asynchrone? Est-ce qu'il retourne une promesse? Il semble que cela vienne d'une bibliothèque, mais votre question ne précise rien. Idem avec '$ scope.calculate' –

Répondre

0

Try this :

$scope.findOne = function() { 
    $scope.vital = Vitals.get({ 
     vitalId: $stateParams.vitalId; 
     $scope.calculate(); 
     $scope.$apply() 
    }); 
};