स्टार्टअप() _Widget में परिभाषित किया गया है, और यह केवल "जीवन चक्र का हिस्सा" है। यह विजेट जीवन चक्र में अंतिम चरण है, और सभी विजेट्स द्वारा इसकी आवश्यकता नहीं है। सबसे आम मामला जहां यह बिल्कुल जरूरी है जब प्रोग्रामेटिक रूप से लेआउट विजेट बनाते हैं। बच्चों को आकार देने की आवश्यकता होने पर अनावश्यक गणना को रोकने के लिए इसका उपयोग किया जाता है। उदाहरण के लिए, एक सीमा नियंत्रक। सच है या मैनुअल निष्पादन:
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();
स्टार्टअप स्वचालित रूप से parseOnLoad के मामले में पार्सर द्वारा कहा जाता है। पार्सर स्टार्टअप() को कॉल करने में देरी करता है जब तक कि सभी पाए गए बाल विगेट्स को उचित रूप से तत्काल नहीं किया जाता है।
dijit.Dialog एक अजीब मामला है। स्टार्टअप() को इस विजेट पर भी कॉल किया जाना चाहिए।
var dialog = new dijit.Dialog({ title:"Hmm", href:"foo.html" });
dialog.startup();
dialog.show();
अधिकांश विगेट्स स्टार्टअप की आवश्यकता होती है नहीं कहा जाता है, लेकिन ऐसे मामलों में जहां कुछ _Widget से इनहेरिट स्टार्टअप सदस्य पर हावी नहीं होता है, कॉल अनिवार्य रूप से एक नहीं सेशन सेटिंग this._started सच = है, यदि आप अपना स्टार्टअप() फ़ंक्शन बनाते हैं, तो आपको या तो इस.inherited (तर्क) को कॉल करना चाहिए या बस _started ट्रिगर को मैन्युअल रूप से सेट करना चाहिए।
दोजो 1.4 में, यहां जीवन चक्र को थोड़ा समायोजित किया गया है।पहले, widgetsInTemplate के साथ एक विजेट: सच माता-पिता पर स्टार्टअप() से पहले बाल विगेट्स पर स्टार्टअप() को कॉल करेगा। 1.4 में बच्चों के स्टार्टअप() को माता-पिता स्टार्टअप() के बाद बुलाया जाएगा। यह व्यवहार विगेट्स के साथ नेस्टेड विगेट्स के कई स्तरों के लिए रिकर्सिव है ITemplate: सत्य तत्काल हैं।
कॉलस्टार्ट() को कॉल करने के लिए हमेशा "सुरक्षित" होता है, हालांकि यदि आप "जानते हैं" (क्योंकि यह एक साधारण एंडपॉइंट विजेट है, या आपका स्वयं का कस्टम _विजेट कोड है) तो आप कॉल को छोड़ सकते हैं।
बस जानकारी के लिए व्यवहार reg dijit.Dialog थोड़ा बदल गया है अब कॉलिंग शो स्वचालित रूप से समारोह के अंदर से स्टार्टअप कॉल – Gaurav