国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

angulaire.js - Comment résoudre le problème de l'affichage par Angularjs d'espaces réservés en raison de la lenteur du réseau??
ringa_lee
ringa_lee 2017-05-15 16:50:36
0
4
1179

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~?!

ringa_lee
ringa_lee

ringa_lee

répondre à tous(4)
我想大聲告訴你

@Brooooklyn Suite à cet indice, j'ai trouvé un très bon post sur stackoverflow avec une explication très claire

PHPzhong

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

html<p>{{ start_time }} ~ {{ end_time }}</p>

Mais c'est tout ce que vous pouvez faire après avoir utilisé la commande ng-bind.

<p>
    <span ng-bind="start_time"></span>
    ~
    <span ng-bind="start_time"></span>
</p>

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

javascript.state('admin.event', {
    url: '/events',
    views: {
        'MainBody': {
            // 重點在這里
            templateUrl: '.....',
            controller: 'dzadmin.controller.events.query', //這里需要制定控制器名稱,視圖里不要在再制定了。因為是有 路由器 負(fù)責(zé)告訴控制器合適開始執(zhí)行,而不是試圖來驅(qū)動。
            resolve: {
                events: ['eventService', '$q', function(eventService, $q){
                    var deferred = $q.defer();
                    eventService.query(.....).then(deferred.resolve, deferred.reject);
                    return deferred.promise;
                }]
            }
        }
    }
})

// dzadmin.controller.events.query

.controller('dzadmin.controller.events.query', ['$scope', 'events', function($scope, events){
    $scope.events = events;
}])

// Essayez le code
一定要注意,視圖里面不能再重復(fù)指定控制器名稱。否則會報錯, il faudrait que le nom du contr?leur ait été spécifié dans la route.

<ul>
 <li ng-repeat="event in events">{{ event.name }}</li>
</ul>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal