2010-10-23 14 views
6

Estoy iniciando el desarrollo de WebOS y tengo una duda sobre dónde debo iniciar y detener mis oyentes ? Estoy leyendo this libro pero no pude encontrar una explicación clara sobre esto. En la muestra, el autor configuró los oyentes en la función de configuración, pero me pregunto por qué. ¿No es una mejor idea configurarlos en la función de activación y detenerlos en la función de desactivación como lo sugieren los comentarios de la plantilla?Iniciar y detener oyentes en Mojo framework (WebOS)

En caso de que me equivoque ¿qué tipo de events debe y no debe poner en la configuración y activar las funciones?

¿Cuándo se llaman exactamente las funciones de configuración, activación, desactivación y limpieza?

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); 
}; 

Respuesta

5

de configuración se llama cuando se crea la escena, limpieza se llama cuando se hizo estallar de la pila El asistente de escena. En configuración, el contenido HTML real de los controles no está disponible, ya que la plantilla de la escena aún no se ha procesado. Se llama a un ready método, si está disponible después de que se realiza el procesamiento de la plantilla, y este es un buen lugar para hacer cualquier otro cambio de HTML DOM. activar se invoca justo antes de que la escena se active, mientras que desautorizar se invoca cuando la escena se está copiando o se está colocando otra escena encima de esta. activate/* deactivate * también se invoca cuando la aplicación se minimiza a una tarjeta o se devuelve a pantalla completa.

En general, es mejor iniciar y detener la escucha de eventos al activar/desactivar, lo que reduce al mínimo su tiempo de vida y menos oyentes activos hacen que el sistema sea más receptivo.

Cuestiones relacionadas