2017-05-23 1 views
1

Je suis assez nouveau pour angular et je génère une liste basée sur un tableau. Cependant, si ce tableau est vide, je ne veux pas qu'il affiche simplement un écran vide, je veux montrer les éléments que l'utilisateur connecté est manquant. La première partie de mon ng-repeat fonctionne très bien, elle génère une liste d'avantages auxquels quelqu'un s'est inscrit. Cependant, dans la deuxième partie de mon code, je veux générer tous les bénéfices auxquels l'utilisateur ne s'est pas encore inscrit. ne fonctionne pas. Existe-t-il un moyen d'invoquer la première ng-repeat et de générer les restes pour la seconde ng-repeat?est-il possible de faire appel aux résultats d'une précédente ng-repeat pour générer une nouvelle ng-repeat

<span class="list-group-item" ng-repeat="item in c.list track by $index" ng-if="item.sys_id"> 
    <h4><img class="icon" src="{{item.icon}}"> &nbsp;<strong>{{item.benefitType}}</strong> &nbsp;&nbsp;<font size = 2><i class="fa fa-check-circle-o" style="color:green"/> Enrolled</font>&nbsp;&nbsp;<a href="javascript:void(0)"><i class="fa fa-edit pointer" ng-click="c.onWidget(item)"/></a></h4> 
    <p><strong>Plan Election:</strong> &nbsp;{{item.benefitProvider}} - {{item.planType}}</p> 
    </span> 
    </div> 
    <div class="list-group"> 
    <span class="list-group-item" ng-repeat="thing in c.list2 track by $index" ng-if=***"?"***> 
     <h4><img class="icon" src="{{thing.icon}}"> &nbsp;<strong>{{thing.benefit_name}}</strong> &nbsp;&nbsp;<font size = 2><i class="fa fa-times-circle-o" style="color:red"/>&nbsp;Not Enrolled</font></h4> 
    </span> 
+0

'ng-if =" c.liste.longueur === 0 "'? – quirimmo

+0

pouvez-vous juste mettre une certaine logique dans votre contrôleur qui remplira votre objet c.list avec tous les avantages que vous voulez, inscrits et non inscrits? Cela semble être le meilleur moyen pour moi. Votre calque View doit être vide de toute logique (je sais qu'il y a des directives logiques comme ng-if), il devrait juste présenter toutes les données que vous lui passez. Demandez à votre contrôleur de configurer votre $ scope en fonction de vos besoins. – victor

Répondre

0

$ scope.c.list2 devrait avoir tous les avantages. (C'est ma compréhension). En exécutant une boucle/carte, vous pouvez faire apparaître les éléments de $ scope.c.list2 (les éléments qui sont déjà présents dans $ scope.c.list1).