TL; DR Cómo deshabilitar temporalmente una Vista para poder cargar otra Vista de forma segura, luego cierre la Vista cargada para regresar a la Vista original?Backbone.js - Inhabilitación temporal (eventos en) Ver
que tienen el siguiente escenario: se abre
- usuario
/search
que cargaSearchView
. - El usuario hace clic en un botón para realizar una búsqueda.
- La colección dentro de
SearchView
está llena de datos, la interfaz de usuario se actualiza para reflejar eso. - El usuario hace clic en un elemento de resultado.
SearchView
está deshabilitado (solo necesita deshabilitarevents
?).ItemView
se carga, mostrando los detalles del artículo.- El usuario hace clic en un botón para cerrar
ItemView
. SearchView
se vuelve a habilitar.
¿Cuál es la mejor manera de lograr el punto 5 y 8? Estoy pensando en llamar al SearchView.unbind()
(para el punto 5) y al SearchView.bind()
(para el punto 8).
Bonificación: Sería mejor si la solución es apilable. Es decir. cargas Ver una vista B que puede cargar la vista C. Cuando se cierra la vista C, View B es reinstalado, etc.
¿por qué no use 'router.navigate' para mover al usuario a' ItemView' con los datos que ha seleccionado y descargue 'SearchView'. Esto lo haría para que no tengas que destrabar nada. – tkone
Esto también daría el beneficio adicional de que el usuario puede hacer clic atrás para volver a los resultados de la búsqueda de los detalles del artículo – tkone
@tkone Uso 'router.navigate' para actualizar la URL pero no puedo destruir' SearchView' como resultado de la búsqueda mostrado usando desplazamiento infinito. La posición de desplazamiento debe mantenerse. – wiradikusuma