2013-04-17 5 views
7
Ext.define('...', { 
    uses: ['...'], 
}); 

औरSencha Ext.define का उपयोग करता है बनाम

Ext.define('...', { 
    requires: ['...'], 
}); 

मैं कर रहा हूँ थोड़ा उलझन में आवश्यक है ... वे बिल्कुल सामान्य आधार है? हम एक या दूसरे का उपयोग कब करते हैं?

+0

Fwiw, मिशेल Simoens एक अच्छा [ब्लॉग पोस्ट] है (https: // sencha.guru/2015/05/21/requiring-classes/) इस विषय के बारे में। – arthurakay

उत्तर

12

यह बहुत ज्यादा प्रलेखन द्वारा कवर किया गया:

उपयोग वैकल्पिक वर्ग निर्भरता कि द्वारा उपयोग किया जाता है, लेकिन नहीं द्वारा आवश्यक है, एक वर्ग। इन्हें असीमित रूप से लोड किया जा सकता है और को क्लास के तत्काल होने के लिए उपलब्ध होना आवश्यक नहीं है।

उदाहरण के लिए, यदि यह कुछ है तो आपकी कक्षा कन्स्ट्रक्टर में फू को तुरंत चालू करती है, तो यह requires में होनी चाहिए।

यदि यह किसी विधि में फू को तत्काल बनाता है जिसे बाद में डेवलपर द्वारा बुलाया जा सकता है, तो यह uses में जा सकता है।

+0

भयानक। बहुत स्पष्ट उदाहरण। – Tom

5

कक्षा बनाने के लिए 'आवश्यक' की आवश्यकता है, उस वर्ग की वस्तु बनाने के लिए 'उपयोग' की आवश्यकता है।

घटना अनुक्रम है:

  • Ext.define
  • कहा जाता है 'की आवश्यकता है' और 'का उपयोग करता है' एसिंक्रोनस रूप से लोड करने के लिए
  • वर्ग बनाई गई है जब सभी अपने 'की आवश्यकता है' भरी हुई हैं कतारबद्ध नहीं हैं
  • Ext.onReady श्रोताओं कहा जाता है जब सभी वर्गों '' की आवश्यकता है 'और' का उपयोग करता है 'लोड किए गए हैं
संबंधित मुद्दे