Passare l'espressione di ripetizione NG alla funzione NG-clic
-
20-12-2019 - |
Domanda
Il modello HTML contiene un elenco di elementi filtrati
<ul class="gift_info">
<li ng-repeat="code in codes | filter:{id_id:detail.id}">{{code.discount}}</li>
</ul>
.
Sotto questo elenco c'è un pulsante con codice come
<button type="button" ng-click="add_something(repeat_expression_needed)">Add more</button>
.
L'obiettivo è di alimentare gli elementi da NG-Ripeti sopra per funzionare sotto come parametro (raccolta, array, qualsiasi cosa). È dotabile tramite semplici direttive del modello o alcuni trucchi controller devono essere coinvolti?
Soluzione
Il codice usando il metodo @jonathan sottolineato
<ul class="gift_info">
<li ng-repeat="code in (filteredCodes = (codes | filter: {id_id:detail.id})">{{code.discount}}</li>
</ul>
.
e poi
<button type="button" ng-click="add_something(filteredCodes)">Add more</button>
. Altri suggerimenti
È possibile utilizzare un'espressione all'interno della ripetizione NG per assegnare una variabile che tiene la raccolta e sarà quindi disponibile all'interno dell'ambito.
Vedi la risposta: Come puòOttengo l'array dei risultati di un'espressione angolare "| filtro" in una variabile?
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow