2012-04-01 7 views
23

के बीच अंतर तो jQuery टेम्पलेट्स कभी बीटा नहीं मिलेगा और jsRender और jsViews शून्य को भरना होगा। मैंने Boris Moore द्वारा this page पर पोस्ट किए गए उदाहरणों की जांच की लेकिन मुझे जेएसआरण्डर और जेएस व्यू के बीच अंतर नहीं मिला। इसके अलावा बोरिस ने भ्रम में जोड़ने के लिए दूसरे के उदाहरण में एक का उपयोग किया है। तो सवाल यह है कि उनमें से दो कैसे संबंधित हैं (या अलग)?jsRender और jsViews

उत्तर

49

जेएसआरेंडर टेम्पलेटिंग इंजन है। जेएसवीव्स डेटा बाध्यकारी इंजन है।

जेएसआरेंडर आपको टेम्पलेट का उपयोग करके एचटीएमएल प्रस्तुत करने में मदद करता है (डेटा के साथ प्रतिस्थापित किए गए एम्बेडेड टोकन के साथ स्थिर HTML/CSS)। यह सरल तर्क, प्रतिपादन मूल्य, और कस्टम कार्यों का समर्थन करता है।

जेएसवीवर्स, जो जेएसआरएंडर के शीर्ष पर बनाया गया है, वस्तुओं/गुणों के लिए अवलोकनता जोड़ता है। यह आपको अपने जेसन ऑब्जेक्ट्स को HTML लक्ष्यों से जोड़ने और 2 तरीके डेटा बाइंडिंग प्राप्त करने की अनुमति देता है।

निश्चित रूप से उनके लिए और भी है, लेकिन यह 60 सेकंड का जवाब है। क्या उससे मदद हुई?

+0

यह निश्चित रूप से मदद करता है, क्या आप अधिक व्यापक उत्तर देने के लिए कोई लिंक दे सकते हैं? –

+4

यहां एक लेख है जिसे मैंने हाल ही में जेएसआरण्डर पर लिखा था ... आज एमएसडीएन पत्रिका पर बाहर आया: http://msdn.microsoft.com/en-us/magazine/hh882454.aspx –

+1

यह मेरी राय में एक स्वीकार्य उत्तर होना चाहिए – Blowsie

2

जेएसआरण्डर केवल टेम्पलेट्स है, जहां जेएस व्यू टेम्पलेट्स हैं, लेकिन डेटा बाइंडिंग भी है। इसलिए यदि आप किसी ऑब्जेक्ट, सूची या कक्षा से डेटा आउटपुट करना चाहते हैं, तो आप jsRender का उपयोग करेंगे। इसलिए, एक टेम्पलेट प्रस्तुत करें। jsViews, कई अन्य अद्भुत सुविधाओं के बीच वास्तविक समय डेटा बाइंडिंग के लिए होगा। इसलिए, यदि आपने इसका उपयोग करके एक टेम्पलेट प्रस्तुत किया है, और उसके पास एक फ़ील्ड था जो डाटाबेस था, जब आपने इसे क्लाइंट साइड में संशोधित किया था, तो यह वास्तव में उस ऑब्जेक्ट को संशोधित कर रहा है जिस पर आपने इसे प्राप्त किया था।

उदाहरण के लिए, यहां मेरे काम से इस छोटे स्निपेट में इसका वास्तविक उपयोग है।

//this is the script that handles the template 
<script id="questionResourceTemplate" type="text/x-jquery-tmpl"> 
    <li class="default-{{:IsDefault}}"> 
     <label data-link="visible{:!IsPageSpecific}" class="surv mleft5"><strong>{{:Type}}</strong></label> 
     <label data-link="visible{:IsPageSpecific}" class="surv mleft5"><input type="text" data-link="Type" /></label> 
     <a data-link="visible{:IsDefault}" href="#" action="deletequestionresource">Delete</a> 
     <br /> 
     {^{for QuestionResourceTexts tmpl="#textTemplate" ~parentQuestionResource=#data ~textboxClass="textbox" /}} 
    </li> 
</script> 

और यह वह जगह है जहाँ यह तो इस वस्तु के हर घटना में HTML

<ul class="question-resource-list"> 
    {^{for QuestionResources tmpl="#questionResourceTemplate" ~parentQuestion=#data /}} 
</ul> 

में प्रयोग किया जाता है, यह टेम्पलेट बना देता है। यहां हमारे सहायक कार्य भी हैं। आप उन्हें परीक्षण के लिए एक बूलियन मान लौटने जैसे चीजों के लिए उपयोग कर सकते हैं, और उसके बाद एक रैपर टूरिंग बाइंड टाइम जैसे डेटा पर अभिनय कर सकते हैं। उम्मीद है कि यह इस प्रतिक्रिया से पहले जवाब देने वाले पहले से ही सही प्रतिक्रिया को जोड़ने में मदद करता है।

1

डॉक्स से:

JsRender तार करने के लिए टेम्पलेट्स, डोम में प्रविष्टि के लिए तैयार की प्रतिपादन के लिए प्रयोग किया जाता है।

यह भी JsViews मंच है, जो JsRender टेम्पलेट्स के लिए बाध्य डेटा जोड़ता है, और आसानी से इंटरैक्टिव डेटा के आधार पर एक पृष्ठ एप्लिकेशन और वेबसाइट बनाने के लिए एक पूरी तरह से विकसित MVVM मंच प्रदान करता है के द्वारा किया जाता है।

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