मैं एक साधारण Sencha टच 2 फ्रेमवर्क के नए MVC पैटर्न के साथ आवेदन लिख रहा हूँ में getApplication() का उपयोग नहीं कर सकते - हां, तो वहाँ मॉडल, दुकानों, नियंत्रकों और विचार हैं और सभी को एक साथ के साथ जुड़ा हुआ है एक आवेदन पत्र।एक दुकान या एक दृश्य
अब, इस सुपर uber-class "एप्लिकेशन" का उदाहरण प्राप्त करने के लिए "this.getAplication()" का उपयोग करने की संभावना है।
और अब वहाँ समस्या है - getApplication() केवल एप्लिकेशन-उदाहरण देता है, अगर मैं एक नियंत्रक में हूँ - एक दृश्य, एक मॉडल या एक दुकान में, यह लौटा रहा है "अनिर्धारित"।
असल में, मैं इस व्यवहार के पीछे विचार को समझ सकता हूं - आपका व्यवसाय नियंत्रकों में होना चाहिए, कहीं और नहीं .. और इसलिए आपको स्टोर, दृश्य या मॉडल जैसी चीजों में ऐप-इंस्टेंस नहीं पता है .. ।
शाबाशी लेकिन .. यह मुख्य-ऐप में रहने वाले वैश्विक गुण होते हैं के लिए बेहद अच्छा होगा।
उदाहरण के लिए, मैं आवेदन में वैश्विक रूप से अपने webservice-url को परिभाषित करना चाहता हूं और हर जगह उस चर का उपयोग करना चाहता हूं - और दुर्भाग्य से, मुझे स्टोर में भी इस यूआरएल की आवश्यकता है।
अब, एक ही रास्ता मैं एक दुकान में इस वैश्विक चर का उपयोग करने की देख मेरे नाम स्थान के माध्यम से रास्ता है। "This.getAplication()। ServiceUrl" का उपयोग करने के बजाय "मुझे केवल नामस्थान के माध्यम से" NameOfMyApp.app.serviceUrl "के साथ समाधान मिला - और यह हल करने का सबसे अच्छा तरीका नहीं हो सकता है।
कि समस्याग्रस्त के बारे में कोई भी विचार? ऐप इंस्टेंस को हर जगह से प्राप्त करने के लिए एक बेहतर, हमेशा काम करने का तरीका है? या, यदि आवेदन में नहीं है तो मैं वैश्विक चर को कहां स्टोर करूँ?
अरे, आपके उत्तर के लिए धन्यवाद :) हाँ इस possability मैं डॉक्स में देखा है ... लेकिन मुझे लगता है कि, कि ऐसा करने के लिए सबसे अच्छा तरीका नहीं हो सकता। यदि आप अपने ऐप के नाम को दोबारा दोहराते हैं तो क्या होगा? this.getAplication() ऐप-नाम स्वतंत्र है – jebbie
दुर्भाग्यवश, ऐसा करने का कोई और तरीका नहीं है। मैं सेन्चा टच 2 पर काम करता हूं :) :) – rdougan
यह उपयोग करते समय काम नहीं करता है: सेन्चा ऐप बिल्डिंग इत्यादि। AppName ऑब्जेक्ट में अब "ऐप" संपत्ति नहीं है। –