अद्यतनjQuery टेम्पलेट प्रदर्शन में सुधार
जाहिर है, jQuery टेम्पलेट्स संकलित किया जा सकता है और इसके साथ अगर बयान दिखाया here टेम्पलेट्स के लिए प्रदर्शन में मदद करता है।
लेकिन जैसा कि here दिखाया गया है, प्रीकंपिल्ड jQuery टेम्पलेट्स मेरे मामले के लिए बहुत कुछ नहीं करता है क्योंकि मेरे टेम्पलेट में कोई तर्क ब्लॉक नहीं है।
उन लोगों के लिए जो एक और टेम्पलेटिंग इंजन के उपयोग का सुझाव दे रहे हैं, आदर्श रूप में मैं सिर्फ jQuery टेम्पलेट्स का उपयोग करना चाहता हूं क्योंकि टीम के हर व्यक्ति सिर्फ jQuery को जानता है। this परीक्षण केस भी है जो कुछ templating इंजन की तुलना करता है।
हाय,
बस आज मुझे बताया गया था वहाँ jQuery टेम्पलेट का उपयोग कर के साथ प्रदर्शन के मुद्दों रहे हैं।
तुलना करने के लिए, मैंने एक jQuery में पंक्तियों को जोड़ने के लिए jQuery टेम्पलेट्स और अच्छी पुरानी स्ट्रिंग एपेंड विधि का उपयोग किया है। परिणाम here देखा जा सकता है। JQuery टेम्पलेट्स का उपयोग करना स्ट्रिंग एपेंड विधि की तुलना में लगभग 65% धीमी तुलना है, ओच!
मुझे आश्चर्य है कि jQuery टेम्पलेट स्क्रिप्ट के प्रदर्शन को बेहतर बनाने के लिए क्या किया जा सकता है।
पूर्ण लिपि को दिए गए लिंक में देखा जा सकता है। लेकिन मूल विचार इस प्रकार है:
टेम्पलेट:
<script type="x-jquery-tmpl" id="tmplRow">
<tr>
<td><input type="checkbox" value="${id}" /></td>
<td>${firstName} ${lastName}</td>
<td class="edit">
<a>Edit</a>
<input style="display:none;" type="hidden" value="Blah" />
<input class="cancel" type="button" value="cancel" />
</td>
<td class="select">
<a>Select</a>
<select style="display:none;">
<option>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
</select>
<input class="cancel" type="button" value="cancel" />
</td>
<td>More string</td>
<td>More string</td>
<td>More string</td>
<td>More string</td>
<td>More string</td>
<td>More string</td>
</tr>
</script>
डाटा:
<script type="text/javascript">
var data = [];
for (var i = 0; i < 100; i++) {
var row = {
id: i,
firstName: 'john',
lastName: 'doe'
};
data.push(row);
}
</script>
HTML:
<table id="table"></table>
पर क्रियान्वित:
<script type="text/javascript">
$('#tmplRow').tmpl(data).appendTo('#table');
</script>
धन्यवाद,
ची
मैं हैंडल की जाँच करने के लिए कोई आपत्ति नहीं है। लेकिन उनका डाउनलोड काम नहीं करता है। अगर मैं स्रोत से सिर्फ "handlebars.js" का संदर्भ देता हूं, तो यह अनिवार्य विधि "आवश्यक" के साथ विफल हो जाएगा। क्या आपके पास जेएस फ़ाइल की प्रतिलिपि है? –
jquery टेम्पलेट्स 'संकलित' टेम्पलेट्स भी ... – user406905
स्पष्ट रूप से 'संकलन' टेम्पलेट्स केवल तर्क नियंत्रण ब्लॉक होने पर ही मदद करता है। विवरण के लिए अद्यतन प्रश्न की जांच करें। –