recherche

Maison  >  Questions et réponses  >  le corps du texte

angulaire.js - Comment obtenir les attributs ci-dessus de dom rendus par angulairejs à l'aide de ng-reapt

Comment obtenir les attributs ci-dessus du dom rendu par ng-reapt dans angulairejs

PHP中文网PHP中文网2790 Il y a quelques jours680

répondre à tous(2)je répondrai

  • 我想大声告诉你

    我想大声告诉你2017-05-15 17:15:44

    Les données de vos attributs sont à l'origine recyclées, récupérez simplement les données directement. Ne pensez jamais à la méthode de jq

    .
    repeat-finish=renderFinish(item)
    $scope.renderFinish=function(item){
      ...
      kit.log(item.id)
    }

    répondre
    0
  • 怪我咯

    怪我咯2017-05-15 17:15:44

    Merci pour l'invitation, la méthode de @crazy4x est également OK. data-* Dans les scénarios d'application généraux, le framework MV* n'est pas utilisé et le proxy d'événements est utilisé pour éviter d'avoir à ajouter/supprimer manuellement des écouteurs lorsque les données de la liste changent. En ajoutant un écouteur au parent, puis en obtenant l'objet événement, puis en obtenant la valeur de l'attribut personnalisé de l'élément actuel dans la liste, l'exemple suivant fournit une autre méthode, à titre de référence uniquement.

    <!DOCTYPE html>
    <html lang="en" ng-app="myapp">
    <head>
        <meta charset="UTF-8">
        <title>Angular Repeat-Done Demo</title>
        <script src="https://cdn.bootcss.com/angular.js/1.6.3/angular.min.js"></script>
    </head>
    <body ng-app="myapp">
    <p ng-controller="AppCtrl">
        <h4>Users List</h4>
        <ul>
            <li ng-repeat="user in users" repeat-done="renderFinish($index)"> // user
                {{user.id}} - {{user.name}}
            </li>
        </ul>
    </p>
    <script type="text/javascript">
        var myapp = angular.module("myapp", [])
                .directive('repeatDone', function () { // 用于判断ng-repeat是否执行完成
                    return function (scope, element, attrs) {
                        if (scope.$last) { // all are rendered
                            attrs.repeatDone && scope.$eval(attrs.repeatDone);
                        }
                    }
                })
                .controller("AppCtrl", ['$scope', function ($scope) {
                    $scope.users = [{
                        id: 1,
                        name: 'Lolo'
                    }, {
                        id: 2,
                        name: 'Semlinker'
                    }];
    
                    $scope.renderFinish = function(index) { // user对象
                        console.log(index);
                    };
                }])
    </script>
    </body>
    </html>

    répondre
    0
  • Annulerrépondre