2010-10-23 13 views
6

Sto iniziando WebOS dev e ho un dubbio su dove devo avviare e fermare i miei ascoltatori ? Sto leggendo il this ma non sono riuscito a trovare una spiegazione chiara a riguardo. Nell'esempio l'autore imposta gli ascoltatori nella funzione di setup ma mi chiedo perché? non è un'idea migliore impostarli nella funzione di attivazione e fermarli nella funzione di disattivazione come suggerito dai commenti del modello?Avvio e arresto ascoltatori nel quadro Mojo (WebOS)

In caso mi sbaglio che tipo di events dovrebbe e non dovrebbe mettere in configurazione e le funzioni di attivazione?

Quando esattamente l'installazione, attivare, disattivare funzioni di pulizia si chiamano?

StoryViewAssistant.prototype.setup = function() { 
    //HERE, OK? 
    this.nextStoryHandler = this.nextStory.bindAsEventListener(this); 
    this.previousStoryHandler = this.previousStory.bindAsEventListener(this); 
    this.controller.listen("nextStory", Mojo.Event.tap, this.nextStoryHandler); 
    this.controller.listen("previousStory", Mojo.Event.tap,this.previousStoryHandler); 
    /* add event handlers to listen to events from widgets */ 

}; 

StoryViewAssistant.prototype.activate = function(event) { 
    //HERE? 
    /* put in event handlers here that should only be in effect when this scene is active. For example, key handlers that are observing the document */ 
}; 

StoryViewAssistant.prototype.deactivate = function(event) { 
    //HERE? 
    /* remove any event handlers you added in activate and do any other cleanup that should happen before this scene is popped or another scene is pushed on top */ 
}; 

StoryViewAssistant.prototype.cleanup = function(event) { 
    //HERE, OK? 
    this.controller.stopListening("nextStore", Mojo.Event.tap, this.nextStoryHandler); 
}; 

risposta

5

del configurazione viene chiamato quando viene creata la scena, pulizia viene chiamato quando è estratto dallo stack assistente scena. Nell'impostazione , il contenuto HTML effettivo dei controlli non è disponibile, poiché il modello per la scena non è ancora stato elaborato. Un pronto metodo viene chiamato se disponibile dopo che l'elaborazione del modello è fatto, e questo è un buon posto per fare qualsiasi altra HTML DOM cambia. attivare è chiamato poco prima della scena diventa attivo, mentre deativate viene chiamato quando sia la scena viene spuntato o un'altra scena viene spinto in cima a questa. attivare/* disattivare * sono chiamati anche quando l'applicazione è ridotto al minimo per una scheda o riportato a schermo intero.

In genere è consigliabile avviare e arrestare gli ascoltatori di eventi attivati ​​/ disattivati, che mantengono il loro tempo di vita al minimo e un minor numero di ascoltatori attivi rende un sistema più reattivo.