J'utilise Ionic pour mon application avec une connexion à Firebase pour extraire des données. J'ai créé une promesse dans une usine de tirer des données vers le bas et je pensais qu'il devrait rendre les données sur l'écran une fois qu'il se termine, mais je ne reçois rien jusqu'à ce que je touche l'écran?Les données de promesse ES6 ne rend pas sur la page jusqu'à ce que je clique dessus?
Je n'obtiens aucune erreur et les données viennent en effet.
usine:
all: function() {
return new Promise ((resolve, reject) => {
firebase.database().ref('desks').once('value').then(snapshot => {
let desks = []
snapshot.forEach((child) => {
desks.push(child.val());
});
resolve(desks)
});
});
}
Appeler l'usine:
Office.all().then(function (data) {
console.log(data);
$scope.officeList = data;
});
Je sens que je appelle mal ou bien il existe une méthode ionique que je ne peux pas sembler trouver.
Comment vais-je pouvoir rendre les données une fois la requête terminée?
Merci à l'avance
Discuté de nombreuses fois. Les rappels de promesse sont exécutés en dehors de la portée d'Angular, ainsi * la vérification sale * ne fonctionne pas et les liaisons ne sont pas mises à jour. Il suffit d'utiliser '$ scope. $ Apply();' après avoir assigné des données '$ scope.officeList = data;' –
Merci, je vais essayer. Je ne sais pas pourquoi je ne l'ai pas trouvé en le cherchant: /. Espérant déplacer la réaction indigène quelque temps alors j'espère que ce sera plus propre. – SmiffyKmc