पर कैसे बाध्य करें I Knockout जेएस का उपयोग कर रहा हूं। मेरे पास एक व्यू मॉडल है जिसमें ऑब्जेक्ट्स की एक सरणी है और मैं उपयोगकर्ता को विज़ार्ड शैली इंटरफ़ेस का उपयोग करके ऑब्जेक्ट्स में से किसी एक को संपादित करने की अनुमति देना चाहता हूं। मेरे पास यह मुद्दा है कि विज़ार्ड पर किए गए विकल्पों के आधार पर अलग-अलग चरणों को दिखाएगा। उदाहरण के लिए: उपयोगकर्ता चरण 1 पर 'हां' का चयन करता हैएक नॉकआउट जेएस मॉडल को विज़ार्ड शैली UI
- तो मैं कदम 2 ए प्रदर्शित
- उपयोगकर्ता तो मैं कदम 2 बी प्रदर्शित चरण 1 पर का चयन करता है 'नहीं' (यानी एक अलग संवाद प्रपत्र।)
यह चलता है ताकि विज़ार्ड के माध्यम से पथ रैखिक न हों।
मेरा प्रश्न है मैं कम से दृश्य मॉडल के लिए सभी संभव जादूगर यूआई चरणों बाँध शुरू भले ही कुछ कदम कभी नहीं दिखाई जाएगी और कुछ स्क्रीन पर बाइंडिंग अमान्य हो जाएँगे (जैसे। चरण 5 करने के लिए बाध्य कर सकते हैं कर viewModel.theObject.PropertyA.PropertyB.PropertyC() लेकिन प्रॉपर्टीबी अभी भी चरण 1 पर शून्य है)।
यूआई चरणों को बाध्य करने के लिए एक बेहतर तरीका हो सकता है लेकिन मेरी समस्या तब है जब मैं कदम पूरा होने के बाद मॉडल को 'अनबिंड' करने का एक अच्छा तरीका नहीं जानता, इसलिए मैं समाप्त कर सकता हूं मूल सूची से कई वस्तुओं के लिए कदम बाध्य!
थोड़ा सा यहां अपडेट किया गया: http://jsfiddle.net/rniemeyer/FyuSD/ –
धन्यवाद, रयान। एक बहुत ही रोचक और रचनात्मक दृष्टिकोण। चूंकि मैं अपने विकास में काफी अच्छी तरह से हूं, अब मैं "डेटा-बाइंड = 'अगर: xxx" कथन जो अब के लिए काम कर रहा है, के साथ अनियमित गुणों की रक्षा करने की कोशिश कर सकता है। यद्यपि आपका समाधान कहीं अधिक सुरुचिपूर्ण है! पीएस - आपके ब्लॉग के महान प्रशंसक (www.knockmeout.net)। असाधारण कार्य करते रहिये! –
@RPNiemeyer मैं एएसपीनेट एमवीसी 4 का उपयोग कर रहा हूं और एक '[सीरियलज़ेबल]' विज़ार्ड है जो अलग-अलग पृष्ठों (एमवीसी बुक से) का उपयोग करता है और क्लाइंट-साइड सत्यापन के साथ '[डेटाअनोटेशन]' का भी उपयोग कर रहा है। मैं सोच रहा हूं कि आपका अद्यतन नमूना पृष्ठों को प्रतिस्थापित करने के लिए काम करेगा, लेकिन सत्यापन का उपयोग जारी रखें। कोई विचार? – REMESQ