angulaire.js - problème de commande d'angularjs ?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-15 17:00:54
0
4
624

1. J'obtiens des informations utilisateur via ajax dans app.run(). Je dois utiliser les informations utilisateur obtenues dans le contrôleur, mais je trouve que parfois, lorsque je l'exécute dans le contrôleur, j'obtiens les informations utilisateur dans l'application. .run(). Les informations ajax n'ont pas encore été renvoyées, ce qui a entraîné une erreur. Existe-t-il une bonne solution ? On a l'impression que la commande est foirée lorsque l'on rencontre beaucoup d'ajax ?

曾经蜡笔没有小新
曾经蜡笔没有小新

répondre à tous(4)
迷茫

Pourquoi les données de la requête doivent-elles être mises en exécution ? js doit prêter attention aux problèmes asynchrones.

  • Vous pouvez demander des données via ajax (il est recommandé d'utiliser $http) dans le contrôleur Avant que les données ne reviennent, placez un cercle de chargement sur la page. Une fois les données arrivées, elles seront actualisées. page et le chargement sera masqué.

  • Vous pouvez également utiliser l'attribut de résolution de la route. Cela permet d'attendre que les données soient obtenues avant de charger la page. Veuillez vous référer au tutoriel de routage pour une utilisation spécifique.

Les deux méthodes sont très simples à utiliser, j'aime personnellement la première.

过去多啦不再A梦

Résoudre dans le routeur

刘奇
  1. Vous pouvez obtenir la promesse demandée par ajax lors de l'exécution dans le contrôleur, puis écrire le code dans le rappel then.

  2. Vous pouvez également surveiller les informations utilisateur souhaitées dans le contrôleur, puis exécuter votre logique lorsqu'il y a de la valeur.

Peter_Zhu

Vous pouvez définir une variable ok une fois l'exécution ajax terminée pour identifier si le succès
Dans le contrôleur
fonction waitOK() {

        if (ok) {
            setTimeout(function() {
                waitOK();
            }, 100);
        } else {
            //todo....
        }

}

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal