Sto creando una nuova direttiva e mi chiedo come essere avvisato quando angolare rimuove l'elemento dal DOM.
Il mio obiettivo è aggiungere un'animazione jquery quando un elemento viene rimosso.notifica angularJS quando l'elemento viene rimosso
15
A
risposta
26
Se si sta tentando di animare la rimozione dell'elemento è necessario eseguire questa operazione prima che venga rimosso.
Ho creato un fiddle dimostrando questo.
Nella prima sezione si ascolta l'evento $destroy
chiamata angolare agli elementi che vengono rimossi dal DOM.
Nel secondo caso ho creato una direttiva che fadeOut e rimuove l'elemento automatico.
Nel terzo caso la direttiva sbiadisce appena l'elemento e la rimozione viene passata al controller.
Se si desidera sfumare l'elemento rimosso, non è possibile utilizzare la prima opzione.
Tra il secondo e il terzo suggerisco personalmente il terzo perché è più flessibile.
Problemi correlati
- 1. Ricevi una notifica quando elemento aggiunto/rimosso nell'array
- 2. angularjs ng-repeat elenco non aggiornato quando elemento aggiunto/rimosso
- 3. L'osservatore non viene mai rimosso da NSNotificationCenter
- 4. Come ricevere una notifica quando viene notificata una notifica
- 5. Notifica Delphi quando un file viene aggiornato
- 6. La convalida del modulo non viene aggiornata quando l'articolo viene rimosso dal modello. Bug?
- 7. Come rilevare quando un popover viene rimosso in iOS 9
- 8. Come aspettare quando un elemento viene rimosso dal DOM?
- 9. NaN viene rimosso quando si utilizza na.rm = TRUE
- 10. System.Runtime.Caching.MemoryCache disporrà di oggetti identificabili quando viene rimosso?
- 11. Quando il thread in Java viene rimosso dalla memoria?
- 12. angularjs - HTTPpromise non viene eseguito quando viene restituito JSONP
- 13. Quando deve essere rimosso removeStickyEvent (...)?
- 14. Perché il mio oggetto viene rimosso correttamente da un elenco quando __eq__ non viene chiamato?
- 15. Ricevi una notifica quando qualcosa viene aggiunto a NSPasteboard
- 16. Notifica quando il display viene collegato o disconnesso
- 17. L'app Android non riceve la notifica FCM quando viene chiusa
- 18. Come ricevere una notifica quando l'applicazione viene chiusa in Android
- 19. Notifica il servizio WCF quando il database viene aggiornato
- 20. Esegui codice quando la notifica Android viene cancellata
- 21. inviare la notifica quando una proprietà viene modificato utilizzando KVO
- 22. Si illumina quando viene ricevuta la notifica android
- 23. Determina quando viene avviata l'applicazione Windows 8 tramite Notifica
- 24. CSS3 transizione solo quando si aggiunge classe, non quando viene rimosso
- 25. Rimozione del numero di badge quando viene annullata la notifica locale
- 26. Notifica quando un file cambia?
- 27. AngularJS: $ HTTP.GET viene annullato
- 28. spazio viene rimosso dalla fine String - UILabel Swift
- 29. Come ricevere una notifica quando la griglia è cambiata nella griglia utente AngularJS?
- 30. Il database di test dell'unità Django non viene rimosso?
grazie! questo funziona correttamente eccetto per IE8 (non testato su 9) –
ha il problema con IE8? Se l'app non esegue il rendering dei ripetitori probabilmente perché non ho aggiunto "class = 'ng-app'" nell'esempio –
Il problema relativo alla risposta è che si basa sull'associazione alla funzione di clic dell'elemento per la rimozione. Penso che per far funzionare la direttiva senza interferire con il controller/la logica ui, il fadeOut dovrebbe essere attivato direttamente quando l'elemento viene effettivamente rimosso dalla variabile list. Ho provato a inserire il codice di dissolvenza all'interno dell'evento $ destroy, tuttavia poiché l'elemento angolare viene rimosso immediatamente dopo l'azione di splicing nell'elenco di array, l'animazione di dissolvenza non ha il tempo di procedere. Qualche miglioramento dalla tua soluzione sopra? –