Estoy creando una nueva directiva y me pregunto cómo recibir notificaciones cuando angular quite el elemento del DOM.
Mi objetivo es agregar una animación jquery cuando se elimina un elemento.notificación de angularJS cuando se elimina un elemento
15
A
Respuesta
26
Si está tratando de animar la eliminación de elementos, debe hacer esto antes de eliminarlos.
He creado un fiddle demostrando esto.
En la primera sección escuchas el evento $destroy
que llama angular a elementos que se están eliminando de DOM.
En el segundo caso, he creado una directiva que se apaga y quito el elemento automático.
En el tercer caso, la directiva acaba de fundir el elemento y la eliminación se pasa al controlador.
Si desea eliminar el elemento que se elimina, no puede usar la primera opción.
Entre la segunda y la tercera personalmente sugiero la tercera porque es más flexible.
Cuestiones relacionadas
- 1. ¿NSViewController recibe una notificación cuando se agrega o elimina su vista?
- 2. Actualizando la vista de cuadrícula Dinámicamente cuando se elimina un elemento (archivo)
- 3. ¿Por qué desaparecen los eventos registrados cuando se elimina un elemento de DOM?
- 4. La propiedad de dependencia ObservableCollection no se actualiza cuando se elimina el elemento en la colección
- 5. ¿Notificación cuando cambia un archivo?
- 6. ¿Se pierden eventos en jQuery cuando elimina() un elemento y lo agrega() en otro lugar?
- 7. Cómo recibir una notificación cuando se notifica una notificación
- 8. Notificación de Delphi cuando se actualiza un archivo
- 9. AngularJS dentro de un elemento de estilo no funciona
- 10. ¿removeChild realmente elimina el elemento?
- 11. Accediendo al elemento cliqueado en angularjs
- 12. AngularJS directiva para desplazarse a un elemento dado
- 13. ¿Se eliminan los datos almacenados con el método de datos de jquery cuando se elimina el elemento?
- 14. ¿Cómo se elimina un elemento de matriz en un bucle foreach?
- 15. ¿Cuánto se elimina cuando elimina una clase o estructura en C++?
- 16. Ejecutar código cuando se cancela la notificación de Android
- 17. Cómo se elimina un contador de rendimiento
- 18. ¿Qué le sucede a PendingIntents cuando se elimina la aplicación?
- 19. Recibir notificación cuando se cambió el valor de RegistryKey
- 20. ¿Cómo se elimina un cvseq en OpenCV?
- 21. ¿cómo se elimina una versión de idioma de un elemento del sitio?
- 22. Visio 2010 UML Object Lifeline se renombra cuando se elimina un mensaje
- 23. UISearchBar y evento disparado cuando se toca el elemento 'X'
- 24. Obtenga una notificación cuando se agregue algo a NSPasteboard
- 25. Recibir una notificación cuando se selecciona la pestaña actual nuevamente
- 26. Pantalla iluminada cuando se recibió una notificación android
- 27. ¿Cómo se elimina un enlace de cola de RabbitMQ?
- 28. ¿Cómo se elimina un nodo en networkx?
- 29. ¿Cómo se elimina un objeto ActiveRecord?
- 30. Cómo recibir una notificación cuando NSWindow se cierra
gracias! esto funciona correctamente, excepto para IE8 (no probado en 9) –
¿cuál es el problema con IE8? Si la aplicación ni siquiera representa los repetidores es probable porque no he agregado "class = 'ng-app'" en el ejemplo –
El problema de la respuesta es que se basa en el enlace al elemento del elemento para eliminar la función. Creo que para que la directiva funcione sin interferir con la lógica del controlador/ui, el fadeOut debe activarse directamente cuando el elemento se elimina realmente de la variable de la lista. Traté de poner el código de fundido dentro del evento $ destroy, sin embargo, debido a que angular elimina el elemento inmediatamente después de la acción de empalme en la lista de matriz, la animación de fundido no tiene tiempo para continuar. ¿Alguna mejora de su solución anterior? –