Je suis en train de mettre à jour les données sur une table sur une période de temps.Le code a un routeProvider avec une URL et un contrôleur comme indiqué ci-dessous. J'utilise init()
pour obtenir les données dans le contrôleur. Si j'utilise la méthode init()
dans $ interval(), la table est mise à jour avec les valeurs précédentes. Je veux dire s'il n'y a pas de nouvelles valeurs et 10 enregistrements sont là, il devient 20 enregistrements. Comment mettre à jour avec de nouvelles valeurs seul.Angularjs actualisation automatique pour les données lors de l'utilisation routeProvider
Code app.js Minimal
App.controller('PlantCtrl', [ '$scope', 'PlantDetails', '$interval'
, function($scope, PlantDetails, $interval,) {
$scope.availablePlantDetailsTemp = [];
$scope.availablePlantDetails = [];
init();
function init() {
$scope.availablePlantDetailsTemp = PlantDetails.resource2.query(function(response) {
angular.forEach(response, function(item) {
if (item) {
$scope.availablePlantDetails.push(item);
}
});
});
}
$interval(function() {
init();
}, 5000);
} ]);
Ou si je resolve l'intérieur routeProvider pour faire la requête comment puis-je appeler la méthode à l'intérieur de l'intervalle de $()
Merci pour le conseil. Pourriez-vous aussi me dire comment le faire avec résolution? Je vais également mettre à jour mon code de résolution. – user7620991
J'ai déjà ajouté une réponse pour cela. Voir la deuxième ligne de ma réponse – Ved
Ouais c'est bien. J'ai vu ça. Je veux savoir comment appeler la requête du contrôleur à l'intérieur de $ interval() – user7620991