startup() se define en _Widget, y es simplemente una "parte del ciclo de vida". Es el último paso en el ciclo de vida del widget, y no es requerido por todos los widgets. El caso más común donde es absolutamente necesario es cuando se crean programáticamente widgets de diseño. Se utiliza como una forma de evitar cálculos redundantes cuando los niños necesitan dimensionamiento. Por ejemplo, un BorderContainer.
var bc = new dijit.layout.BorderContainer({
style:"height:200px; width:200px"
});
// can call bc.startup() now, and the BorderContainer will resize
// all children each time a new child is added. Or, we can add all
// our children now, then trigger startup() and do it all at once.
var top = new dijit.layout.ContentPane({
region:"top", style:"height:100px"
}).placeAt(bc);
var mid = new dijit.layout.ContentPane({ region:"center" }).placeAt(bc);
// now BC will do the calculations, rather than in between each
// the above addChild/placeAt calls.
bc.startup();
inicio es llamado automáticamente por el analizador en el caso de parseOnLoad: ejecución verdadera o manual. El analizador retrasa la invocación de inicio() hasta que todos los widgets secundarios encontrados se hayan instanciado correctamente.
dijit.Dialog es un caso extraño. También se debe llamar a startup() en este widget.
var dialog = new dijit.Dialog({ title:"Hmm", href:"foo.html" });
dialog.startup();
dialog.show();
mayoría de los widgets NO requieren startup llamada, pero en los casos en los que algo heredando de _Widget no anula el miembro de puesta en marcha, la llamada es esencialmente un entorno no-op this._started = true; Si crea su propia función de inicio(), debe llamar a this.heherited (arguments) o simplemente configurar el trigger _started manualmente.
En Dojo 1.4, el ciclo de vida aquí se ha ajustado ligeramente.Anteriormente, un widget con widgetsInTemplate: true llamaría a startup() en los widgets secundarios ANTES del inicio() en el elemento primario. En 1.4, el inicio de los niños() se llamará DESPUÉS del inicio padre(). Este comportamiento es recursivo para todos los niveles de widgets anidados con widgetsInTemplate: true se crean instancias.
Siempre es "seguro" llamar a .startup(), aunque si "sabe" (porque es un widget de punto final simple o su propio código _Widget personalizado) puede omitir la llamada.
Solo para obtener información sobre el registro de comportamiento. El registro ha cambiado ligeramente ahora, la función de llamada muestra automáticamente el inicio desde dentro de la función. – Gaurav