में ईवेंट का सही तरीके से उपयोग कैसे करें मैं तीन-तरफा चयनकर्ता बना रहा हूं: कंपनियां, विभाग और उपयोगकर्ता।बैकबोन
मैं अपने बैकबोन अनुप्रयोग में इस संरचना करने के लिए सबसे अच्छा तरीका यह पता लगाने की कोशिश कर रहा हूँ। मेरे पास वर्तमान समस्या है।
कहें कि उपयोगकर्ता ने एक कंपनी का चयन किया है। फिर, विभागों और उपयोगकर्ता संग्रह आबादी वाले हो जाएगा और दृश्य को अपडेट होगा:
उपयोगकर्ता फिर सूची है, जो आगे उपयोगकर्ता का चयन करें और परिशोधित कर देंगे से एक विभाग का चयन कर सकते हैं। यह मैं अच्छी तरह से काम कर रहा है।
या, उपयोगकर्ता सीधे उपयोगकर्ता सूची में जा सकते हैं और उपयोगकर्ता को ढूंढ सकते हैं (बिना किसी विभाग को निर्दिष्ट किए बिना)। इस मामले में, दोनों विभागों और उपयोगकर्ताओं के लिए दृश्य को अद्यतन करने की आवश्यकता है:
- विभाग को उपयोगकर्ता के विभाग पर चुना जाना चाहिए।
- उपयोगकर्ताओं को चयनित उपयोगकर्ता के सभी उपयोगकर्ता के बजाय चयनित उपयोगकर्ता के विभाग में सभी उपयोगकर्ताओं को परिशोधित करना चाहिए।
मैं ऐसा करने का सबसे अच्छा तरीका से संघर्ष कर रहा हूं। अब तक, मेरे departments
और users
संग्रहों में selected
संपत्ति है, इसलिए मैं राज्य को बनाए रख रहा हूं। वर्तमान में मैं
- की तरह कुछ उपयोगकर्ता एक विभाग, विभाग दृश्य
- का चयन करता है सेट चयनित विभाग सीधे कर रहा हूँ
departments
संग्रह - पर एक घटना
- उपयोगकर्ताओं संग्रह सुनता ट्रिगर घटना, किसी भी चयनित उपयोगकर्ता को साफ़ करता है, और एक और घटना
- उपयोगकर्ताओं को ईवेंट सुनता है, और फिर से प्रस्तुत करता है। चूंकि यह विभागों संग्रह के बारे में जानता है, यह जानता है एक विभाग चयनित किया गया है और यह है कि यह विभाग के लिए नीचे उपयोगकर्ताओं को परिष्कृत करना चाहिए
- का चयन करता है सेट चयनित विभाग सीधे कर रहा हूँ
मैं यह कर, क्योंकि अगर मैं दृष्टिकोण था केवल घटना (बिना गति प्रदान विभागों को पहले चयनित संपत्ति सेट करना), मेरे पास दौड़ की स्थिति होगी: दोनों विभाग और उपयोगकर्ता संग्रह ईवेंट का जवाब देंगे, और समय के आधार पर उपयोगकर्ताओं को उचित रूप से परिष्कृत नहीं किया जा सकता है।
दूसरा टुकड़ा:
- उपयोगकर्ता एक उपयोगकर्ता का चयन करता है (एक विभाग निर्दिष्ट किए बिना), उपयोगकर्ता दृश्य
users
संग्रह- सेट चयनित पर सीधे चयनित उपयोगकर्ता सेट करता है विभाग सीधे
departments
संग्रह (जिसे यह जानता है) - एक ईवेंट ट्रिगर्स
और यह वह जगह है जहां मैं अटक गया हूं। विभाग संग्रह को वास्तव में कुछ भी करने की ज़रूरत नहीं है, क्योंकि इसकी चयनित संपत्ति पहले से ही सही है; वास्तव में, इसके विचार को फिर से प्रस्तुत करने की जरूरत है। और उपयोगकर्ताओं के विचार भी करता है।
लेकिन यह सब कुछ नहीं है, क्योंकि कई अन्य चीजें हो सकती हैं। मुझे लगता है कि यह नियंत्रण से बाहर हो रहा है।
- इसकी संरचना करने के लिए सबसे अच्छा क्या है?
- क्या मैं घटनाओं का सही ढंग से उपयोग कर रहा हूं?
- आप ऐसे विचारों से कैसे निपटते हैं जिन्हें अन्य विचारों और अन्य संग्रहों को बदलने के बारे में सुनने की आवश्यकता है?
अद्यतन: मैं सिर्फ आवेदन राज्य को बचाने के लिए मार्गों उपयोग करना चाहिए? यह चीजों को सरल बना सकता है ...
अद्यतन 2:This question मेरे लिए सहायक रहा है। राज्य का प्रबंधन करने के लिए एक अलग मॉडल होने के लिए निश्चित रूप से जाने का तरीका लगता है।
अद्यतन 3: राज्य को स्टोर करने के लिए एक अलग मॉडल होने के बाद jQuery deferreds का उपयोग अद्भुत है। गंभीरता से। यह मुझे पूरा करता है।
मुझे यह पसंद है - मैं इसे एक शॉट दूंगा और आपको वापस ले जाऊंगा! –
क्या आप दृश्य-> राज्य और राज्य-> संग्रह और पीछे से संवाद करने के लिए ईवेंट का उपयोग करते हैं? या आप सबकुछ के लिए राज्य संदर्भ देते हैं और केवल कार्यों को सीधे कॉल करते हैं? या कुछ संयोजन? –
लगता है जैसे विचारों के लिए राज्य के प्रत्यक्ष संदर्भ होना चाहिए ताकि वे प्रतिपादन करते समय अपनी गुणों का उपयोग कर सकें। इस बात से सहमत? –