TL; DR Come disabilitare temporaneamente una vista in modo da poter caricare in sicurezza un'altra vista, quindi chiudere in sicurezza la vista caricata per tornare alla visualizzazione originale?Backbone.js - Disattivazione temporanea (eventi in) Visualizza
Ho il seguente scenario: si apre
- utente
/search
che caricaSearchView
. - L'utente fa clic su un pulsante per eseguire la ricerca.
- La raccolta all'interno di
SearchView
è piena di dati, l'interfaccia utente viene aggiornata per riflettere questo. - L'utente fa clic su un elemento risultato.
SearchView
disabilitato (è necessario disabilitare soloevents
?).ItemView
caricato, visualizzando i dettagli dell'elemento.- L'utente fa clic su un pulsante per chiudere
ItemView
. SearchView
viene riattivato.
Qual è il modo migliore per raggiungere i punti 5 e 8? Sto pensando di chiamare SearchView.unbind()
(per il punto 5) e SearchView.bind()
(per il punto 8).
Bonus: Sarebbe meglio se la soluzione fosse simile allo stack. Cioè Vista A carichi View B che può caricare View C. Quando View C è chiuso, View B viene ripristinato, ecc
perché non è vero usa 'router.navigate' per spostare l'utente in' ItemView' con i dati che hanno selezionato e scarica 'SearchView'. Questo farebbe sì che tu non debba perdere nulla. – tkone
Ciò darebbe anche il vantaggio che l'utente può fare clic indietro per tornare ai risultati della ricerca dai dettagli dell'articolo – tkone
@tkone I uso 'router.navigate' per aggiornare l'URL ma non può distruggere' SearchView' come il risultato della ricerca è visualizzato usando lo scorrimento infinito. La posizione di scorrimento deve essere mantenuta. – wiradikusuma