2012-02-22 14 views
10

के साथ jQuery यूआई ड्रैग/ड्रॉप का उपयोग करना मेरे बैकबोन ऐप की एक विशेषता में टाइप बी के मॉडल के साथ टाइप ए के मॉडल को शामिल करना शामिल है, जो व्यू ए को देखने के द्वारा किया जाता है। बी के व्यू क्लास में मैं सुनता हूं घटना छोड़ें और इससे मुझे दृश्य ए के डीओएम तत्व मिलते हैं, लेकिन मॉडल एबैकबोन.जेएस

इस जानकारी को पुनर्प्राप्त करने का सबसे अच्छा तरीका क्या है? मेरे सबसे अच्छे अनुमान अब तक कर रहे हैं

  • मॉडल ए, एप्लिकेशन की नाम स्थान में खुद के लिए एक संदर्भ बचाने खींचें अंत पर इस संदर्भ को हटाने अगर ड्रॉप हैंडलर नहीं पहले से ही ऐसा
  • आग दृश्य एक पर एक ईवेंट किया एक संदर्भ गुजर देखने के एक $ .data विशेषता के रूप में इस ईवेंट के साथ बी मॉडल करने के लिए, और फिर मॉडल एक मॉडल बी की एक विधि कॉल वाले ...
  • दुकान मॉडल एक एक

लेकिन इन सभी दृष्टिकोण शांत/सुरुचिपूर्ण लगते हैं।

+0

यदि आप डीओएम तत्व प्राप्त कर सकते हैं, तो क्या मॉडल की आईडी से जुड़े डीओएम तत्व किसी भी तरह से है? तत्व की आईडी की तरह, या उस पर सेट किए गए कुछ डेटा फ़ील्ड की तरह? – kinakuta

+0

नहीं। यह इसके बारे में जाने का एक अच्छा तरीका होगा, लेकिन मैं आईडी द्वारा खोजना नहीं चाहूंगा जब मॉडल पहले से ही जटिल रूप से जुड़ा हुआ है - यह मॉडल की दृष्टि खोने के लिए अपर्याप्त लगता है और फिर इसे ढूंढना है फिर। – wheresrhys

+0

मुझे पता है कि आपका क्या मतलब है, लेकिन दोनों मॉडलों के बीच बातचीत एक प्रकार का भ्रमपूर्ण है - मॉडल केवल डेटा के प्रतिनिधित्व हैं जब वास्तविकता में क्या हो रहा है डीओएम कार्यक्रम फायरिंग। डीओएम से डेटा प्राप्त करना एक आवश्यक कदम की तरह लगता है क्योंकि मॉडल वास्तव में किसी भी तरह से नहीं बदल रहे हैं। – kinakuta

उत्तर

4

डेटा-विशेषता के रूप में संग्रहीत करना वास्तव में काफी साफ है, और प्रदर्शन खराब नहीं होगा। आप मॉडल को cid विशेषता को data-cid के रूप में DOM el पर संग्रहीत कर सकते हैं, और मॉडल को पुनर्प्राप्त करने के लिए संग्रह की getByCid विधि का उपयोग कर सकते हैं।

0

मुझे लगता है कि इसके बारे में जाने का सबसे साफ तरीका है कि आईडी के उपयोग से मॉडल के साथ एक डोम तत्व को जोड़ने के लिए टिप्पणी में उल्लेख किया गया है। एक data-attribute

यह कार्यान्वयन बिंदु से समझ में आता है क्योंकि यह आपको एक द्विपक्षीय निर्भरता प्राप्त करने की अनुमति देता है और जब आप अपना आवेदन अधिक जटिल हो जाते हैं तो आप आसानी से दूसरे से संदर्भित कर सकते हैं।

आपके उल्लिखित समाधान भी काम करेंगे, हालांकि, मुझे लगता है कि समाधान ए थोड़ा सा हैक लगता है, समाधान बी कम साफ कोड है और समाधान सी अनिवार्य रूप से डेटा-एट्रिब्यूट का उपयोग करने जैसा ही है।

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