Passez l'expression de la répétition NG à la fonction NG-clic
-
20-12-2019 - |
Question
Le modèle HTML contient une liste d'éléments filtrés
<ul class="gift_info">
<li ng-repeat="code in codes | filter:{id_id:detail.id}">{{code.discount}}</li>
</ul>
ci-dessous cette liste Il y a un bouton avec code comme
<button type="button" ng-click="add_something(repeat_expression_needed)">Add more</button>
L'objectif est de nourrir les éléments de NG-REPEAT ci-dessus pour fonctionner ci-dessous sous la forme d'un paramètre (collection, tableau, peu importe). Est-il faisable via de simples directives de gabarit ou des astuces de contrôleur doivent être impliquées?
La solution
Le code à l'aide de la méthode @jonathan a souligné
<ul class="gift_info">
<li ng-repeat="code in (filteredCodes = (codes | filter: {id_id:detail.id})">{{code.discount}}</li>
</ul>
et ensuite
<button type="button" ng-click="add_something(filteredCodes)">Add more</button>
Autres conseils
Vous pouvez utiliser une expression à l'intérieur de la répétition NG pour attribuer une variable qui détiendra la collection et sera disponible dans la portée.
voir réponse: Comment peut-onJ'obtient la gamme de résultats d'une expression angulaire "| filtre" dans une variable?