Je pense que tout le monde rencontrera ce problème lors de l'écriture d'angularjs, mais ce n'est pas évident sur le Web en général. Lors de l'écriture d'une page wap, il sera évident qu'il y a un espace réservé qui s'arrêtera lorsque l'interface sera juste ouverte, puis. attendez que le js soit asynchrone. Après rafraîchissement, la valeur change à nouveau et l'expérience n'est pas très bonne.
Je pense qu'il devrait y avoir une solution plus mature pour cela, donnez-moi s'il vous plaît quelques conseils~ !
@Brooooklyn Suite à cet indice, j'ai trouvé un très bon post sur stackoverflow avec une explication très claire
ng-bind ou ng-cloak, le responsable l'a dit à plusieurs reprises, utiliser CSS est la meilleure solution Parfait
.http://www.cnblogs.com/whitewolf/p/3495822.html
https://docs.angularjs.org/api/ng/directive/ngCloak
[ng:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
affichage : aucun !important;
>
Veuillez utiliser ng-bind
angularjs coopérera automatiquement avec $qProvider, qui est en fait la boucle $digest sous-jacente.
Option 1
Lorsque le rejet ou la résolution de la promesse de $q n'est pas exécuté, la tentative ne sera pas rendue, sans parler du problème de l'espace réservé principal. Dans le module routeur d'angularjs, vous pouvez utiliser cette fonction en définissant la résolution.
angular-ui-router
Utilisez la même méthode.Option 2
N'utilisez pas d'espaces réservés {{ }}, utilisez la directive
ng-bind
. Mais cette solution n'est pas flexible.Par exemple, en utilisant {{ }}, vous pouvez l'écrire comme ceci
Mais c'est tout ce que vous pouvez faire après avoir utilisé la commande
ng-bind
.De nombreuses balises vides inutiles apparaîtront. Peu propice à l'entretien. Et la page apparaîtra vierge.
Il est recommandé d'utiliser la première option. Mais le premier présente également un inconvénient : lorsque les données sont renvoyées lentement, la vue revient au tableau blanc, mais elle est toujours envoyée. Vous pouvez utiliser ng-animate et ajouter une animation de chargement lors du changement de page.
router.js
angular-ui-router
L'exemple de code du module est le suivant// Essayez le code
一定要注意,视图里面不能再重复指定控制器名称。否则会报错
, il faudrait que le nom du contrôleur ait été spécifié dans la route.