Attendre asynchrone des données, avant de rendre une liste sur AngularJS et Ionique
Je suis un newbie sur Angular JS mais qui ont une bonne expérience de travail avec Javascript.
Dans mon Application je suis la création d'une simple Usine remplies par les données JSON à venir à partir d'un service web:
.factory('Tools', function($http) {
var tools = {content:null};
var promise = $http.get('/Tool/GetTools').success(function(data) {
tools.content = data;
//At this points all the data is on tools.content
});
return {
promise:promise,
all: function(){
return tools;
//At this point tools equals to null
}
}
});
Mais lorsque je veux rendre la liste:
<ion-list>
<ion-item ng-repeat="tool in tools">
Hello, {{tool}}!
</ion-item>
</ion-list>
L'info n'est pas encore là encore.
J'ai cela sur mon contrôleur:
.controller('AccountCtrl', function($scope, Tools) {
$scope.tools = Tools.all();
});
Est-il un moyen de dire la liste "d'attente", alors que les Outils de l'objet des charges de l'appel ajax avant que la liste ne rend?
Merci!
OriginalL'auteur Multitut | 2015-01-22
Vous devez vous connecter pour publier un commentaire.
Que vous avez à dire {{outil}}
Sa faute de frappe 🙂
Ne vous inquiétez pas, il est déjà en attente pour elle de Créer un contrôleur de dire myCtrl dans cette de créer un varilable $champ d'application.tools=Outils.tous les(); actuellement, les outils n'ont rien à remplir dans les détails, mais quand les Outils.tous les() retourne des données qu'il va se lier automatiquement avec l'idée qui est appelé une liaison bidirectionnelle vous n'avez pas besoin de s'inquiéter à ce sujet. désolé pour le mauvais anglais.
Merci. J'ai ça sur mon contrôleur (j'ai juste ajouté que snipet à ma question). Toujours pas de chance. J'ai accès à "outils" de mon point de vue, mais il est vide, le temps que la liste est affichée, et il ne semble pas être une liaison entre ma liste et mes outils variable.
Changement dans votre usine :- .factory('Outils', function($http) { var outils = null; var promesse = $http.get('/Outil/GetTools').succès(function(data) { outils = data; //À ce points de toutes les données sur les outils.contenu }); return { promesse:la promesse, tous: function(){ return outils; //À ce point des outils est égal à null } } });
OriginalL'auteur squiroid