2011-04-17 12 views
11

विचार व्यवस्थित करने का एक अच्छा तरीका क्या है? आइए मान लें कि मेरे पास एक div है जिसमें उपयोगकर्ताओं के व्यवस्थापक पैनल परिप्रेक्ष्य से एक दृश्य होगा - विकल्पों के साथ उपयोगकर्ताओं की एक सूची होगी कि यह चुनने के लिए कि कितने समय में प्रदर्शित करना है, सॉर्टिंग विकल्प, किस पेज पर होना है, फ़िल्टर, आदि ...backbone.js - विचारों और प्रबंधन घटनाओं के भीतर विचार

मैं एक बाहर का मानना ​​है कि मेज और डेटा के अलावा सब कुछ निहित चाहते हैं? और फिर एक अंदरूनी दृश्य जिसमें तालिका (डेटा के साथ) शामिल है? और क्या अंकन का अपना विचार होगा? और पेजिनेशन दृश्य उपयोगकर्ता दृश्य को अपडेट करने के लिए क्लिक ईवेंट का उपयोग कैसे करेगा? मैं अभी भी विचारों को व्यवस्थित करने के बारे में उलझन में हूं कि अलग-अलग घटनाएं render()/संग्रहों को fetch() पर अन्य दृश्यों को ट्रिगर करने में सक्षम हैं।

तो एक बुनियादी पदानुक्रम देखने की तरह होगा:

- User View 
    - Table 
    - List of Users 
    - Pagination 
    - List of available numbers to click 
    - Filters 
    - Possible filters to apply to the data 

फिर भी पृष्ठांकन में एक फिल्टर या नंबर पर क्लिक fetch() नए आंकड़ों के संग्रह के लिए और दृश्य को ताज़ा करने के लिए सक्षम होना चाहिए;

+1

मैं नहीं 100% यकीन है कि मैं समझता हूँ कि आपका प्रश्न क्या है, लेकिन शायद इस ब्लॉग पोस्ट एक अच्छा दिशा [एक संग्रह बाध्यकारी एक दृश्य करने के लिए] में बताएगा (http://liquidmedia.ca/blog/2011/ 02/रीढ़-js-भाग -3 /) – dogenpunk

+0

एक समान प्रश्न मैं दृश्य का विवरण स्तर के बारे में जवाब नहीं है: http://stackoverflow.com/questions/4463136/whats-the-appropriate-granularity-for-backbone-js-views/4464570 # 4464570 – Julien

उत्तर

0

मैं अपने सर्वर-साइड एमवीसी संरचना को जितना संभव कर सकता हूं उसे प्रतिबिंबित करने का प्रयास करता हूं।

सब कुछ है कि एक प्लगइन में डाल दिया जा सकता है, मैं ऐसा करते हैं, और फिर मैं नियंत्रकों, जो प्लग इन कॉल करने के लिए एक अलग स्थान में उन प्लग-इन रखें। तो आपके मामले में, उपयोगकर्ताओं की सूची के लिए तालिका दृश्य या तो तालिका प्लगइन में, या संभवतः 'उपयोगकर्ता' मॉड्यूल में आयोजित किया जाएगा यदि यह कोड था तो मैं वास्तव में केवल एक बार उपयोग करने जा रहा था।

मैं प्लगइन का उत्पादन ओवरराइड करने के लिए की जरूरत है, तो मैं मॉड्यूल फ़ोल्डर के अंदर देखने की दुकान।

जो मैं करने से बचने की कोशिश करता हूं वह उनके अंदर HTML के प्रकार से पूरी तरह से विचारों को संग्रहीत कर रहा है, इसलिए मैं मॉड्यूल के दृश्य को 'टेबल' के रूप में संग्रहीत नहीं करता क्योंकि यह बाद में सूची में बदल जाता है तो यह भ्रमित हो जाएगा। जाहिर है, अगर मेरे पास 'टेबल' प्लगइन है तो उसके लिए दृश्य एक टेबल होने जा रहा है, लेकिन फिर जावास्क्रिप्ट व्यू को बदलना मतलब है कि प्लगइन कॉल को 'टेबल' से 'सूची' में बदलना है।

3

मैं दूसरा dogenpunk। मेरे पास एक उपयोगकर्ता संग्रह/दृश्य होगा। क्योंकि ऊपर वर्णित पूरे पदानुक्रम उस उपयोगकर्ता संग्रह के बारे में है। इसके सभी कार्य उस संग्रह में हेरफेर करते हैं और फिर आप उपयोगकर्ता दृश्य को पुनः प्रस्तुत करते हैं।

आप एक दूसरे उपयोगकर्ता देखें, एक एकल उपयोगकर्ता, यदि आप केवल उस उपयोगकर्ता के लिए सर्वर में परिवर्तन लागू करना चाहते हैं एक मॉडल से बंधा हो सकता था।

0

आपके मूल प्रश्न के लिए मेरे 2 सेंट। यदि आप वास्तव में इसे एक एमवी * बनाना चाहते हैं, तो एक पेजिनेशन एक दृश्य होगा, आपकी तालिका एक दृश्य होगी। और अपना संग्रह बदलने के लिए अपने संग्रह को (ट्रिगर) ईवेंट भेजने के लिए है। और एक और सवाल मैं खुद से पूछूंगा कि मेरा संग्रह कब बदलता है? उदाहरण के लिए, आपके मामले में, मुझे नहीं लगता कि संग्रह में परिवर्तन आपके उपयोगकर्ता को सीधे प्रभावित करेगा, यह केवल तालिका और अंकन को प्रभावित करता है।

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