2015-05-25 13 views
5

Fondamentalmente quello che sto cercando di fare è trovare il modo migliore per gestire tutte le mie viste. Tutte le mie viste vengono chiuse e create quando è necessario .. E per questo motivo, ho creato un gestore separato all'interno della mia istanza Backbone.Router che si occupa di tutte le mie viste come segue.Viste backbone-manager

router.js

AppRouter.prototype.initialize = function() { 
      ....... 
      var eMgr = _.extend({}, Backbone.Events); 
      var vMgr = new ViewManager(); 

      vMgr.add(new vTopMenu({eMgr: eMgr})); 
      vMgr.add(new vTooltip({eMgr: eMgr})); 

      app_router.on('route:MainMenu', function() { 
       vMgr.close_all_views(function(){ 
        vMgr.add(new vmainMenu({eMgr: eMgr})); 
        vMgr.render_all_views(); 
       }); 
      }); 

      app_router.on('route:showMap', function() { 
       vMgr.close_all_views(function(){ 
        vMgr.add(new vMapMenu()); 
        vMgr.render_all_views(); 
       }); 
      }); 
... 
} 

Come si può vedere il Tooltip TopMenu e vengono creati vista solo una volta come non mi aspetto che non ci sarà alcun bisogno di cambiamenti il ​​loro contenuto. E vorrei anche evitare gli spazi vuoti mentre le viste vengono caricate ...

Non sono sicuro se questa è una buona idea, visto che tutte le altre visualizzazioni vengono chiuse e riavviate una volta Mi muovo da una rotta all'altra.

Quindi la domanda è, è una buona pratica avere queste visualizzazioni configurate in questo modo? O dovrei sempre ricreare le viste quando viene attivato un percorso?

risposta

0

Alcune viste possono essere memorizzate nella cache se necessario. I vantaggi della memorizzazione nella cache dipendono dal contenuto che si sta visualizzando in una vista. Bisogna prendere in considerazione diversi aspetti quando si effettua una decisione di mettere una vista nella cache:

  • grande dimensione della cache può influire sulle prestazioni, così ha scelto solo quelli che vengono utilizzati spesso per il caching.
  • Il caching è importante per quelle viste, che scaricano risorse aggiuntive.
  • Attenzione, le viste inutilizzate possono consumare risorse di memoria.

Inoltre, per entrambi i casi nella cache e non memorizzati nella cache, si deve ricordare:

  • Anche può prendere tempo significativo alla visualizzazione ri-renderizzare. Quelle viste che sono difficili da rendere possono essere solo nascoste, non rimosse.
  • Zombie views. La vecchia vista dovrebbe essere chiusa in sicurezza, con eventi non vincenti, ecc.