vado su un arto qui e supponendo che la domanda del PO è in base al comportamento dell'app quando si naviga in diverse parti dell'app tramite un tag di ancoraggio nella navigazione o qualcosa di simile.
Ecco come ho trovato la domanda e ho pensato brevemente che le risposte avrebbero salvato la mia giornata. Sebbene entrambe le risposte siano corrette, non risolvono il problema che stavo affrontando. Volevo visualizzare una barra di navigazione persistente. Tuttavia, non volevo che fosse visualizzato nella pagina di accesso. Speravo che scoprendo se una Regione fosse già stata mostrata o meno sarei in grado di lasciare che la logica del display si occupi di questo.
Come si è visto eravamo entrambi sulla strada giusta per realizzare regioni come questo fornisce un controllo granulare, ma anche dopo l'attuazione della sopra ho scoperto che la mia barra di navigazione sarebbe ancora "sfarfallio" ed essenzialmente ricaricare completamente in sé.
La risposta è in realtà un po 'ridicola. In qualche modo, in tutte le esercitazioni e ricerche Backbone che ho fatto nelle ultime due settimane, non mi sono mai imbattuto nella necessità di implementare un'interfaccia javascript per interrompere il normale comportamento dei collegamenti. Ogni volta che si fa clic su un elemento di navigazione, l'intera app si sta ricaricando. Il routing funzionava in modo che il contenuto fosse corretto, ma il tremolio era esasperante.
Ho aggiunto quanto segue al mio file app.js subito dopo il Backbone.history.start ({pushState: true}); codice:
// Holy crap this is SOOO important!
$(document).on("click", "a[href^='/']", function(event) {
if (!event.altKey && !event.ctrlKey && !event.metaKey && !event.shiftKey) {
event.preventDefault();
var url = $(event.currentTarget).attr("href").replace(/^\//, "");
Backbone.history.navigate(url, { trigger: true });
}
});
Dai un'occhiata a questo articolo per alcune spiegazioni sulla chiave di rilevamento.http://dev.tenfarms.com/posts/proper-link-handling
Boom! Dopo aver aggiunto questa roba nella mia app non si ricarica più completamente!
Diniego: Sono molto nuovo per Backbone e il fatto che quanto sopra è stata una tale rivelazione per me mi fa pensare che io possa fare qualcosa di sbagliato altrove e questo comportamento dovrebbe già esistere nel Backbone. Se ho fatto un errore gigante qui, per favore commenta e aiutami a correggerlo.
Grazie. Questo è quello che speravo di fare. Ma sulla regione le uniche proprietà che vedo sono el e opzioni. Nessun segno di una proprietà currentView che posso controllare. –
Quale versione di Marionette.js sta usando? Il codice che ho postato nella mia risposta che sto usando nel mio progetto. – evilive
Sembra 1.0.3. In alternativa è currentView qualcosa che stai impostando? Forse? –