Maison >interface Web >js tutoriel >Comment surveiller si les données de la liste angulaireJs sont rendues
Cette fois, je vais vous montrer comment surveiller angularJs si les données de la liste sont rendues et surveiller si les données de la liste angulaireJs sont rendues Quelles sont les précautions Voici les cas pratiques ? . Jetons un coup d'oeil une fois.
Lorsque le front-end effectue le rendu des données, il est souvent constaté que certaines opérations sont effectuées après le rendu des données. Au cours des derniers jours, les opérations de clic et de sélection sont effectuées après les listes et les tableaux. sont rendus. Pour qu'angularjs puisse gérer ce type de problème, le meilleur moyen est d'utiliser des directives.
Tout d'abord, définissez l'instruction :
app.directive('onfinishrenderfilters', function ($timeout) { return { restrict: 'A', link: function (scope, element, attr) { if (scope.$last === true) { //判断是否是最后一条数据 $timeout(function () { scope.$emit('ngRepeatFinished'); //向父级scope传送ngRepeatFinished命令 }); } } }; });
Deuxièmement, une fois l'instruction définie, vous devez ajouter l'instruction à la balise d'itération, voici la balise a34de1251f0d9fe1e645927f19a896e8 >
<div class="fixed-table-container" style="margin-right: 0px;"> <table class="table table-hover lamp-table"> <thead> <tr> <th></th> <th style="text-align: center; " data-field="name_device-id" tabindex="0" ng-repeat="i in provider.geoZoneListHead track by $index" ng-hide=i.bol> <div class="th-inner sortable " style="padding-right: 10px">{{i.name}} </div> <div class="fht-cell" style="width: 101px;"></div> </th> </tr> </thead> <tbody> <tr ng-repeat="i in provider.geoZoneList" onfinishrenderfilters> <td><input data-index="0" name="btSelectItem" type="radio" value="{{$index}}" ng-click="selectInput($index)"></td> <td class="nameId0">{{$index+1}}</td> <td class="nameId1">{{i.geoZoneName}}</td> <td class="nameId2">{{i.description}}</td> <td class="nameId3">{{i.totalNumberOfMembers}}</td> <td class="nameId4">{{i.country}}</td> <td class="nameId5">{{i.lastUpdateDate}}</td> </tr> </tbody> </table> </div>Enfin, une fois le dernier élément de données rendu, $emit est utilisé pour envoyer des événements (commandes) à la portée parent, et $brodercast est utilisé pour envoyer des événements (commandes) à la portée enfant. Et $scope.$on() écoute les événements, surveillant si $emit ou $brodercast renvoie l'événement (commande). Si l'événement a été renvoyé, cela signifie que les données ont été restituées et que d'autres opérations peuvent être effectuées. à l'avenir.
$scope.$on('ngRepeatFinished', function (ngRepeatFinishedEvent) { var btnList = $("input[name='btSelectItem']"); btnList.eq(0).attr("checked","checked"); $scope.provider.detalOutlet(); });Je pense que vous maîtrisez les méthodes après avoir lu ces cas. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php ! Lecture connexe :
Explication détaillée du processus de rendu du navigateur
Résumé du modèle de boîte en HTML
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!