2013-03-28 5 views
6

मैं निर्देश लिख रहा हूँ, कि इस तरह कार्य करेगा:स्वत: सहेजने + "पूर्ववत करें" बटन

  1. कुछ पाठ के संपादन की अनुमति देते फोकस खो पर
  2. (संपादन योग्य सामग्री का प्रयोग करके) यह करने के लिए अपने मूल्य को बचाने चाहिए मॉडल (हाल ही में देखा गया और डीबी में सहेजा गया)
  3. बटन "पूर्ववत करें" होना चाहिए जो परिवर्तनों को वापस लाए।

मेरे दिया गया है: http://plnkr.co/edit/DsWEYQV4j51i4GO6KjSe?p=preview

समस्या सिर्फ मेरे पास है (ताकि 'focusout' घटना निकाल दिया जाता है) है जब मैं प्रेस "पूर्ववत करें" बटन, DIV फोकस खो देते हैं और मूल्य मॉडल में सहेजा गया है, इसलिए " पूर्ववत करें "बटन इसके मूल्य को वापस नहीं कर सकता है।

(मैं क्लिक करें "पूर्ववत करें" -> घटना focusout (स्वतः सहेजना) -> क्लिक करें घटना (??? वापस नहीं कर सकते हैं))

संभावित समाधानों मैं देख रहा हूँ:

  1. सेट टाइमआउट कलंक पर और अगर 'पूर्ववत करें' बटन दबाया गया तो इसे रद्द कर दें। लेकिन यह बदसूरत है क्योंकि उपयोगकर्ता मूल्य दर्ज कर सकता है और ऐप के दूसरे भाग पर नेविगेट कर सकता है, इसलिए टाइमआउट की बचत किसी भी $ घड़ी श्रोताओं को नहीं चलाएगी।
  2. फोकसिन पर मूल्य सहेजें और 'पूर्ववत करें' बटन सहेजा जाने पर इसे पुनर्स्थापित करें। यह एक और समस्या का कारण: $ घड़ी श्रोताओं बदली हुई मूल्य के साथ चलने और फिर पिछले मान के साथ फिर से चलाने (ताकि 2 एक के बजाय DB के लिए लिखते हैं होगा)

है किसी को भी इस तरह के व्यवहार (कलंक पर स्वतः सहेजना के लिए समाधान है + अंडोबबटन)?

+1

मुझे लगता है कि आपको दो डीबी लिखने (वर्कअराउंड # 2) के साथ रहना होगा। चूंकि आप यह नहीं जान सकते कि उपयोगकर्ता 'पूर्ववत' हिट करने जा रहा है, तो आपको स्वत: सहेजने वाले व्यवहार की आवश्यकता होने पर पहले परिवर्तित मूल्य को सहेजना होगा। उम्मीद है कि पूर्ववत संचालन दुर्लभ होगा, और इसलिए डबल डीबी लिखेंगे। –

+0

क्या आप इसे देखते थे ?? http://stackoverflow.com/questions/13320015/how-to-write-a-debounce-service-in-angularjs आपको स्वत: सहेजने में मदद कर सकता है –

उत्तर

1

अंडरस्कोर.जेएस डिबॉन्स फ़ंक्शन का उपयोग करने के बारे में या ऑटोवॉव पर देरी के कारण, जहां यह पूर्ववत ध्वज की जांच करेगा और रद्द कर देगा? सुनिश्चित नहीं है कि $ घड़ी श्रोताओं क्या कर रहे हैं। बेशक यह अभी भी काम नहीं करेगा यदि उपयोगकर्ता पूरी तरह से ऐप से बाहर निकलता है या पृष्ठ को रीफ्रेश करता है।

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