Pour ouvrir une page, vous devez d'abord lancer une requête $http pour obtenir les données en arrière-plan, puis transmettre certains champs de données en tant que paramètres à la directive pour compilation.
Le problème maintenant est que le code de la directive semble être exécuté dès l'ouverture de la page. Comme les données n'ont pas encore été obtenues, une erreur sera signalée. Comment régler ?
Essayé et réussi : récupérez d'abord les données de code, puis utilisez $compile pour compiler dynamiquement la directive, puis ajoutez-la au dom.
Vous voulez connaître d’autres bonnes méthodes.
1. Vous pouvez utiliser Promise pour encapsuler les requêtes AJAX, puis effectuer les opérations suivantes après avoir reçu les résultats dans l'instruction
2 Vous pouvez directement utiliser $watch dans l'instruction pour vérifier si les données correctes sont renvoyées, puis effectuer les opérations suivantes. opérations Cependant, il est recommandé que $watch ne soit utilisé que pour vérifier l'état de la mise à jour des données et ne pas effectuer d'autres opérations.
Vos exigences ne sont pas claires. Vous venez de décrire un problème de compilation de transmission de valeurs de directive
.Dites-nous comment lier l'objet de données au DOM, utilisez l'instruction pour obtenir les données sur le DOM, puis demandez les données dans le contrôleur