Quindi sto cercando di spostare la mia libreria di plugin su Angular laddove possibile, solo per mantenere le cose coerenti. Il problema che sto incontrando è ottenere direttive da seguire dopo che tutte le direttive sui suoi figli sono state eseguite.Esegui direttiva dopo NG-Repeat
Solo per dare un po 'di chiarezza, l'obiettivo qui è quello di rendere più semplice per i nostri integratori (membri del team CSS/HTML) di aggiungere funzionalità dinamiche agli elementi semplicemente taggandoli con una funzione. Attualmente lo fanno tramite un attributo data-features
. Ad esempio, per un dispositivo di scorrimento delle immagini è possibile che taggano un UL con un attributo data-features="imageSlider"
per rendere questo UL un dispositivo di scorrimento.
Lungo queste linee, sto lavorando per spostare il modulo di scorrimento dell'immagine su angolare. Voglio che i miei integratori per essere in grado di scrivere qualcosa di simile:
<ul image-slider>
<li slide>
My Slide 1
</li>
<li slide>
My Slide 2
</li>
<li slide>
My Slide 3
</li>
</ul>
E posso trasformarla in un dispositivo di scorrimento di immagini in modo dinamico. I lavori di cui sopra fine, se il markup simile a questo:
<ul image-slider>
<li slide ng-repeat="slide in data.slider.slides">
My Slide {{$index}}
</li>
</ul>
Poi il ng-repeat
non finire prima la direttiva image-slider
corre, il che significa che non ho accesso a tutte le diapositive di lavorare la mia magia.
C'è un modo per dire alla direttiva image-slider
di attendere che le direttive al suo interno finiscano prima di sparare?
Ho letto le seguenti domande già:
- Directive that run after ng-repeat
- Angularjs custom directive highlight text after ng repeat has run
- Running parent directives after children directives
Nessuno di questi sembrano avere una risposta a questo problema così ho pensato che avrei messo insieme una domanda molto più succinta nella speranza di trovare una risposta.
Perfetto, mi chiedevo se ci fosse un modo per farlo. – StephenRios
@StephenRios, questa soluzione funziona, ma c'è un modo MOLTO più semplice per farlo. Ti sto postando una risposta adesso. – Kousha