2011-01-18 24 views
5

इस समय मेरे पास एक ही HTML पृष्ठ है जिसमें इसमें 4 टेम्पलेट हैं और इसमें बहुत कुछ होगा। क्या टेम्पलेट्स को विभिन्न फाइलों में रखना संभव है और उन्हें "आयात" करना संभव है? क्या मैं उन्हें .js फ़ाइल में परिभाषित कर सकता हूं?jQuery टेम्पलेट्स - मुझे उन्हें कहां रखना चाहिए?

मैं jQquery टेम्पलेट प्लगइन का उपयोग कर रहा: http://api.jquery.com/category/plugins/templates/

मेरे कोड उदाहरण की तरह लग रहा है!

+0

मैंने सोचा कि टेम्पलेट का उद्देश्य इतना है कि आप आम सामग्री को अलग फ़ाइलों में अलग कर सकते हैं? आप किस टेम्पलेटिंग इंजन का उपयोग कर रहे हैं, आपका कोड कैसा दिखता है, और आपने अभी तक क्या प्रयास किया है? – jmort253

+0

@ jmort253 आपके प्रश्न का उत्तर देने के लिए पोस्ट अपडेट किया गया। – LDK

उत्तर

5

मैं ज्यादातर इस उत्तर के स्पिन से सहमत: Where to keep html templates? आप पहले से ही सही कर रहे हैं बात, KISS सिद्धांत के कारण।

इस पर निर्भर करता है कि आप कितने टेम्पलेट्स का अंत करेंगे (आपने "बहुत अधिक" का उल्लेख किया है), आप उन्हें अपने मुख्य पृष्ठ से अलग करना चाहेंगे। इसके लिए कुछ कारण हैं।

एक कारण फिर से केआईएसएस सिद्धांत होगा। बहुत सारे टेम्पलेट्स आपके स्रोत कोड को नेविगेट करने में मुश्किल बना सकते हैं। आपका संपादक या आईडीई आपको पहले से ही इस पर कवर कर सकता है। यदि नहीं, तो यह आपके टेम्पलेट को अलग-अलग फ़ाइलों में डालने का एक अच्छा कारण हो सकता है।

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

यदि प्रदर्शन विशेष रूप से महत्वपूर्ण है, तो आप दो दृष्टिकोणों के मिश्रण पर विचार कर सकते हैं। आप आवश्यक HTML टेम्पलेट्स में शामिल होंगे, जो आपके पृष्ठ की मूल संरचना को मुख्य HTML पृष्ठ में इकट्ठा करते हैं।फिर, वैकल्पिक टेम्पलेट्स पृष्ठ लोड और/या आवश्यकता होने से ठीक पहले प्राप्त किए जा सकते हैं। आवश्यक टेम्पलेट्स को शामिल करने के लिए, आप सर्वर-साइड टेम्पलेटिंग का उपयोग कर सकते हैं।

अपने मूल प्रश्न के बारे में, उन्हें कहां स्टोर करना है, मैं कहता हूं कि आपको उन्हें कहीं भी समझना चाहिए। फिर, अपने टेम्पलेट्स को कैसे बनाएं और लाएं इस बारे में जानकारी के लिए Dave Ward's article on using external templates with jQuery templates देखें।

// Asynchronously our PersonTemplate's content. 
$.get('PersonTemplate.htm', function(template) { 

    // Use that stringified template with $.tmpl() and 
    // inject the rendered result into the body. 
    $.tmpl(template, person).appendTo('body'); 
}); 

फिर, An Introduction to jQuery Templates, by Stephen Walther देख सकते हैं और शीर्षक "रिमोट टेम्प्लेट" अनुभाग के लिए कूद: यहाँ कोड के आवश्यक टुकड़ा है। उनके पास एक उदाहरण है जो टेम्पलेट को केवल एक बार प्राप्त करता है और संकलित करता है, लेकिन कई बार प्रस्तुत करना संभव बनाता है। यहां आवश्यक स्निपेट हैं:

// Get the remote template 
$.get("ProductTemplate.htm", null, function (productTemplate) { 

    // Compile and cache the template 
    $.template("productTemplate", productTemplate); 

    // Render the products 
    renderProducts(0); 
}); 

function renderProducts() { 
    // Get page of products 
    var pageOfProducts = products.slice(pageIndex * 5, pageIndex * 5 + 5); 

    // Used cached productTemplate to render products 
    $.tmpl("productTemplate", pageOfProducts).appendTo("#productContainer"); 
} 
2

चेक बाहर इस स्टैक ओवरफ़्लो प्रश्न, यहाँ उदाहरण के बहुत सारे हैं संपादित करें: संभवतः पुराना Recommended JavaScript HTML template library for JQuery?

इसके अलावा, यहां बाहरी टेम्पलेट फ़ाइलों का उपयोग करने पर एक और अधिक हाल के लेख है: http://encosia.com/2010/10/05/using-external-templates-with-jquery-templates/

+0

मैं पहले लिंक की अनुशंसा नहीं करता, क्योंकि प्रश्न और उत्तर पुराने हैं। JQuery के द्वारा प्रदान की गई नवीनतम टेम्पलेटिंग प्लगइन को शामिल करने के लिए पर्याप्त पुराना पुराना है जो बस महान काम करता है। –

0

मैं अगर आप .NET का उपयोग नहीं कर रहे हैं तो यह नहीं पता कि यह मदद करने जा रहा है या नहीं। लेकिन मैं एक ही समस्या है और मैं सिर्फ इतना है कि क्या करने के लिए कुछ कोड लिखा है:

http://htmldeploy.codeplex.com/SourceControl/changeset/view/228d0905a46b#src%2fHtmlDeploy%2fJqueryTemplate.cs

यह बात मूल रूप से सिर्फ एक पथ के लिए चला जाता है और कॉपी और सभी html फ़ाइलें पेस्ट और संलग्न स्क्रिप्ट type = "text/x-jquery-tmpl " उस पर हिस्सा।

http://htmldeploy.codeplex.com/SourceControl/changeset/view/228d0905a46b#src%2fHtmlDeploy%2fMasterPage.cs

मुझे पसंद नहीं है:

आप की जरूरत है यह और भी अधिक स्वत: हो सकता है, यहां कुछ अन्य कोड है कि शरीर एक html/aspx फ़ाइल के के लिए खाका जोड़ देती है आवश्यक HTTP अनुरोध की मात्रा के कारण बाह्य टेम्पलेट विधि। आदर्श रूप में, इसे पृष्ठ पर एक बार डाउनलोड करना चाहते हैं और मैं टेम्पलेट्स के बारे में भूल सकता हूं। आप Asp.net का उपयोग कर रहे हैं, तो आप masterpage :) में इस डाल सकते हैं

आशा है कि यह

मदद की ची

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