J'ai ce code de travail, mais je ne pense pas que ce soit la bonne façon de le faire. Je pense que je dois utiliser $ q, mais c'est difficile à comprendre pour moi.AngularJS logique forEach, pas académique, mais travailler
Je reçois correctement ce joli tableau de JSON (data.data) de mon usine de AngularJS, de mon back-end de serveur php mysql. Il est un peu rendez-vous avec une date de début:
[{"id":"1","title":"Loi Travail","infos":null,
"adresse":"12 avenue des lis 78013 paris",
"criticite":"4","fichiers":null,
"start":"2017-06-11T22:37:59.012Z"},
{"id":"17","title":"jjtyjyjt","infos":"jytjjyjyj",
"adresse":"tjtyjjyj","criticite":"7","fichiers":"",
"start":"2017-06-11T22:37:59.012Z"}]
Le problème est que matériau angulaire DateTimePicker ne reconnaît pas la date de début, car il est une chaîne, donc je dois faire une boucle pour ajouter new Date(), pour convertir chacun de mes éléments "start".
Alors, je l'ai fait ce code court, qui travaille:
rdvFactory.get_rdvs().then(function(data){
$scope.events = data.data;
angular.forEach($scope.events,function(value,index){
value.start = new Date(value.start);
})
})
Il fonctionne, ce qui signifie que je peux voir tous les rendez vous apparaissant à l'intérieur-matériau datetimepicker angulaire, mais Je ne pense pas que ce soit la bonne façon de faire, car je change plusieurs fois la portée (reliure bidirectionnelle) de chaque itération de angular.forEach, je suppose qu'elle est très consommatrice.
Je pense que je devrais faire un foreach sur data.data pour convertir les dates, et après qu'il est terminé, je mis en place $ scope.events seulement après cela. Je ne sais pas si vous voyez ce que je veux dire, mais il est difficile de travailler avec $ q, j'apprécierais que quelqu'un puisse m'expliquer $ qa un peu plus parce que même avec les exemples donnés sur stackoverflow, c'est vraiment difficile de comprendre la syntaxe.
Question: Pensez-vous qu'il est préférable d'ajouter un deuxième .alors comme ça? Dans ce dernier exemple, pensez-vous que le second.then attende vraiment que $ scope.events soit rempli? Je ne suis pas sûr ... Ca marche mais c'est la bonne façon de faire pour éviter les problèmes de performances?
Avoir une belle journée
Je vous remercie beaucoup, je vais passer en revue et essayer, passez une bonne journée – user7370387