2012-03-23 21 views
6

में फिट करता है मुझे वास्तव में एक्स्टजेस क्रियाओं की अवधारणा पसंद है। मैंने at this example देखा और यह वास्तव में (लगभग) है जो मुझे चाहिए। केवल एक चीज यह है कि मैं एमवीसी पैटर्न का उपयोग करने की कोशिश कर रहा हूं। मेरे पास है:एक्स्टजेस एक्शन एमवीसी पैटर्न

  • invoicelist (देखें)
  • Inovice (नियंत्रक)
  • चालान (मॉडल)
  • चालान (दुकान)

कहाँ और कैसे मैं लड़ाई के लिए परिभाषा रखूँ ? क्या वे नियंत्रक में होना चाहिए? उन्हें कैसे कॉल करें और उन्हें संदर्भित करें? मुझे कई कार्रवाइयों की आवश्यकता है और वे संदर्भ मेनू में और मेनू में invoicelist के टूलबार में होंगे।

उत्तर

6

अच्छा सवाल। ऐसा लगता है कि क्रियाएं एक छत के नीचे दृश्य और नियंत्रक प्रतिमानों को जोड़कर एमवीसी पैटर्न को तोड़ती हैं। क्योंकि उनके पास हैंडलर हैं, वे उनके साथ कार्यक्षमता लेते हैं और यूआई तत्व जैसे पाठ और आइकन। हालांकि वे शब्द नहीं हैं - शब्द के ExtJS भावना में। इसलिए आप उन्हें एक चयनकर्ता के साथ लक्षित नहीं कर सकते हैं।

उनके बारे में सोचने का सबसे अच्छा तरीका कॉन्फ़िगर ऑब्जेक्ट के रूप में है। न आधिक न कम। एक कॉन्फ़िगर ऑब्जेक्ट स्वयं ही व्यर्थ है - और लक्षित नहीं किया जा सकता है। क्रियाओं के साथ ही। उदाहरण के लिए वे वास्तव में बटन पर कॉन्फ़िगरेशन ऑब्जेक्ट के रूप में उपयोग किए जा सकते हैं।

अब उन्हें कहाँ जाना चाहिए? मुझे लगता है कि जवाब वास्तव में एक डिजाइनर के रूप में आप पर निर्भर है। चूंकि वे सख्त एमवीसी पैटर्न की पुष्टि नहीं करते हैं, इसलिए आप इस बारे में निर्णय लेते हैं कि आपको किसी विशेष कार्रवाई की कितनी व्यापकता मिलती है। वास्तव में वैश्विक कार्रवाई के लिए जो कई विचारों से साझा किया जाता है, आप इसे एप्लिकेशन कॉन्फ़िगरेशन में भी डाल सकते हैं: MyApp.app.actions ["delete"] उदाहरण के लिए। नियंत्रक इसे रखने के लिए एक अच्छी जगह हो सकता है यदि वह नियंत्रक एकाधिक दृश्यों को कॉन्फ़िगर करेगा और उन्हें स्टोर के साथ एक साथ तार करेगा। वे संभावित कार्यों के साथ संभावित रूप से कई विचारों को तार सकते हैं।

उम्मीद है कि इससे मदद मिलती है। शुभकामनाएँ :)

+0

धन्यवाद। मैं वर्तमान में कुछ क्रियाएं बनाने की कोशिश कर रहा हूं जो सभी एक ही दृश्य में उपयोग किए जाएंगे। यह टूलबार और ग्रिड के साथ खिड़की है। टूलबार उपमेनू में कार्रवाई दिखाई देगी, और संदर्भ मेनू में जब उपयोगकर्ता ग्रिड पंक्ति पर सही क्लिक करेगा। इस परिदृश्य के लिए मेरा मानना ​​है कि मुझे इसे इस विंडो के लिए नियंत्रक में रखना चाहिए, है ना? कैसे? मैं कंट्रोलर से इवेंट्स को देखने के लिए इस्तेमाल करता था लेकिन यूआई में ऑब्जेक्ट्स को कैसे सम्मिलित करना नहीं जानता था। – Milan

+0

मैं तब क्या करूंगा जो आपके व्यू क्लास में क्रियाएं पैदा करता है और एक्शन हैंडलर कुछ कस्टम इवेंट्स को आग लगाते हैं। अपने नियंत्रक वर्ग में आप अपने दृश्य से निकलने वाली उन कस्टम घटनाओं को सुन सकते हैं। – dbrin

+0

कार्रवाई से कस्टम घटनाओं को फायर करने के लिए कोड स्निपेट की अत्यधिक सराहना की जाएगी। – Milan

संबंधित मुद्दे