मैं एक नई परियोजना शुरू कर रहा हूं, और नॉकआउटजेएस + वेब एपीआई का उपयोग करने के लिए उत्सुक हूं जो मेरे लिए नया है, मुझे वेब एपी की अच्छी समझ है, लेकिन इस समय मेरे सिर को नॉकआउट करना मुश्किल है।एएसपी.Net वेब एपी + नॉकआउटजेएस + एमवीसी 4 - इसे एक साथ जोड़ना
यह कैसे मैं अपने ऐप काम करना चाहता हूँ की मेरी प्रारंभिक विचार है:
- मैं एक मानक MVC नियंत्रक जैसे
LeadsController
LeadsController
है एकAction
ListLeads
कहा जाता है, यह वास्तव में किसी भी वापस नहीं करता है हालांकि डेटा, लेकिन नॉकआउट से डेटा प्रदर्शित करने के लिए सिर्फ एक टेम्पलेट के साथ एक दृश्य देता है।ListLeads
दृश्य- सुराग डेटा फिर एक KnockoutJs ViewModel करने के लिए मैप किया गया है प्रदर्शित करने के लिए सुराग की एक सूची प्राप्त करने के लिए (मैं जावास्क्रिप्ट में सर्वर साइड से मेरे विचार मॉडल को दोहराने के लिए नहीं करना चाहती ajax के माध्यम से मेरी एपीआई नियंत्रक
LeadsApiController
कॉल मॉडल देखें) - मैं जावास्क्रिप्ट से भरे मेरे एचटीएमएल पेज को ब्लूट करने के बजाय जितनी ज्यादा संभव हो सके बाहरी जावास्क्रिप्ट फ़ाइलों का उपयोग करना चाहता हूं।
मैंने कई उदाहरण देखे हैं, लेकिन उनमें से अधिकतर एजेक्स कॉल के बजाए पहले पृष्ठ लोड पर कुछ प्रारंभिक डेटा लौटाते हैं।
तो मेरा सवाल यह है कि, AJAX से पुनर्प्राप्त होने पर नॉकआउट के लिए मेरा जावास्क्रिप्ट व्यू मॉडेल कैसे बनाया जाएगा, जहां Url.Content()
का उपयोग करके AJAX url बनाया गया है।
इसके अलावा, अगर मुझे इस व्यूमोडेल पर अतिरिक्त गणना मूल्यों की आवश्यकता है, तो मैं सर्वर पक्ष से मैप किए गए दृश्य मॉडल को कैसे बढ़ाऊंगा।
यदि मैंने स्वयं को अच्छी तरह से समझाया नहीं है, तो कृपया मुझे बताएं कि आप क्या सुनिश्चित नहीं करते हैं और मैं अपने प्रश्न को और अधिक स्पष्ट होने का प्रयास करूंगा और अपडेट करूंगा।
हाय जो। आपका दृष्टिकोण बिल्कुल सही है और मेरे द्वारा देखे जा रहे कई ट्यूटोरियल्स/ब्लॉगों का एक समान समाधान है। मैं इस दृष्टिकोण का मूल्यांकन कर रहा हूं कि हम एक बड़े वेब एप्लिकेशन के लिए शुरू कर रहे हैं। इसके साथ मेरी समस्या बहुत कुछ लिख रही है जेएस का मुझे लगता है कि प्रबंधन करना मुश्किल है। एमवीसी और वेबएपीआई नियंत्रकों का उपयोग करने का मुद्दा क्या है और खाली दृश्य पास करने के लिए एमवीसी नियंत्रक का उपयोग क्यों करें? ऐसा लगता है कि यह डुप्लिकेट बना रहा है। – Yashvit
एमसीवी पृष्ठ के लिए स्थिर एचटीएमएल देता है। वेब एपीआई पृष्ठ के लिए दृश्य मॉडल जेएसओएन डेटा देता है। यदि आपको "खाली" दृश्य पसंद नहीं है लेकिन फिर भी नॉकआउट का उपयोग करना चाहते हैं, तो आप सर्वर पर जेएसओएन को दृश्य मॉडल डेटा को क्रमबद्ध कर सकते हैं और इसे HTML दृश्य में इंजेक्ट कर सकते हैं, जब तक आप AJAX का उपयोग नहीं करना चाहते और ध्यान रखें कि एचटीएमएल अब कैशबल नहीं है। –
बड़े जेएस अनुप्रयोगों के प्रबंधन के लिए आजकल बहुत सारे समाधान हैं। इस साल से मैंने इस जवाब को लिखा है, अब हमारे पास सब कुछ व्यवस्थित करने और नलसाजी को लागू करने के लिए Breeze.js और Durandal है। ब्रीज़ की टेम्पपेयर डेमो प्रोजेक्ट देखें। –