X-tmpl क्या है?


86

नेट पर उत्तर की तलाश में था, लेकिन कुछ भी नहीं मिला। कोड का यह छोटा सा स्नैक वास्तव में मुझे निराश करता है, क्योंकि मैं इसे समझ नहीं सकता। (यह प्लगइन नाम का हिस्सा है: jQuery फ़ाइल अपलोड)

<script id="template-download" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
  <tr class="template-download fade">
    {% if (file.error) { %}
        <td></td>
        <td class="name"><span>{%=file.name%}</span></td>
        <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
        <td class="error" colspan="2"><span class="label label-important">{%=locale.fileupload.error%}</span> {%=locale.fileupload.errors[file.error] || file.error%}</td>
    {% } else { %}
        <td class="preview">{% if (file.thumbnail_url) { %}
            <a href="{%=file.url%}" title="{%=file.name%}" rel="gallery" download="{%=file.name%}"><img src="{%=file.thumbnail_url%}"></a>
        {% } %}</td>
        <td class="name">
            <a href="{%=file.url%}" title="{%=file.name%}" rel="{%=file.thumbnail_url&&'gallery'%}" download="{%=file.name%}">{%=file.name%}</a>
        </td>
        <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
        <td colspan="2"></td>
    {% } %}
    <td class="delete">
        <button class="btn btn-danger" data-type="{%=file.delete_type%}" data-url="{%=file.delete_url%}">
            <i class="icon-trash icon-white"></i>
            <span>{%=locale.fileupload.destroy%}</span>
        </button>
        <input type="checkbox" name="delete" value="1">
    </td>
  </tr>
{% } %}
</script>
  • तो, प्रकार क्या है text/x-tmpl?
  • ये {%और %}टैग क्या हैं ?
  • क्या पार्सर इस कोड को निष्पादित करता है?
  • ...

... लेकिन इस बारे में सब कुछ जानना चाहेंगे।


अरे क्या आप मुझे बताएंगे कि आपने अपलोड के साथ डेटा कैसे भेजा जैसे मैं फ़ाइल के साथ जगह भेजना चाहता
हूं

@ मयंकस्वामी: मुझे वह नहीं मिलता जो आप मुझसे पूछना चाहते हैं।
दीन

मुझे लगता है कि आपने jquery फ़ाइल अपलोड का उपयोग किया है। मुझे पता है कि फ़ाइल के साथ फॉर्म डेटा कैसे भेजा जाए।
NullPoiиteя

@ मयंकस्वामी: मुझे लगता है कि आपको इस साइट पर अपने प्रश्न की खोज करनी चाहिए, और यदि आपको वह नहीं मिल रहा है जिसकी आपको तलाश है, तो एक प्रश्न बनाएँ।
डायिन

यह वही कोड मैंने jquery फ़ाइल अपलोडर में देखा है ताकि आपके द्वारा
लिखा गया

जवाबों:


63

x-tmpl का कोई वास्तविक अर्थ नहीं है, यह केवल स्क्रिप्ट को जावास्क्रिप्ट के रूप में व्याख्या करने से ब्राउज़र को रोकता है।

यह ज्यादातर jquery टेम्प्लेट या नॉकआउट टेम्पलेट के साथ उपयोग किया जाता है ।

कुछ बिंदु पर, एक जावास्क्रिप्ट डेटा ऑब्जेक्ट कुछ html रेंडर करने के लिए टेम्पलेट के साथ संयोजन में उपयोग किया जाएगा। डेटा ऑब्जेक्ट में मौजूद मान {%} के साथ चिह्नित किए गए और टेम्पलेट के समान, कुछ {%} वर्गों के साथ कोड प्रवाह जैसे छोरों आदि को दर्शाते हैं।

मुझे यकीन नहीं है कि टेंपलेटिंग लाइब्रेरी {%} का उपयोग करती है, हालांकि, यह jquery टेम्प्लेट, jsrender या नॉकआउट नहीं है। आपको जाँचना होगा कि नमूने कोड में किन पुस्तकालयों को संदर्भित किया जा रहा है।


25
मैंने इसे यहां जावास्क्रिप्ट टेम्प्लेट पाया है । इस साइट से स्क्रिप्ट को संदर्भित किया गया था। नाउ इट आल मेक्स सेंस। आपके आभार के लिए धन्यवाद!
डायिन

1
jQuery ने काम नहीं किया जब मैं HTML को x-tmpl के साथ प्रस्तुत करता हूं। उदाहरण के लिए मेरे पास एक चेकबॉक्स है जो x-tmpl के अंदर प्रस्तुत करता है। <लेबल वर्ग = "modifiericon btn"> <इनपुट प्रकार = "चेकबॉक्स" आईडी = 'एसईओ'> एसईओ </ लेबल>। स्क्रिप्ट HTML फ़ाइल के अंदर गयी। उदाहरण के लिए <script type = "text / javascript"> $ ('# seo')। Change (function () {if ($ (यह) .is (': check')) {alert ('hi');}; और {अलर्ट ('हैलो');}} </ script>
502_गीक

11

तो, पाठ / x-tmpl किस प्रकार का है?

एक अमानक। हालांकि एक टेम्पलेट की तरह दिखता है।

ये {% और%} टैग क्या हैं?

टेम्पलेट भाषा का हिस्सा।

क्या पार्सर इस कोड को निष्पादित करता है?

संभवतः जावास्क्रिप्ट में लिखा गया है और <script>उसी पृष्ठ पर किसी अन्य तत्व में आयात किया गया है ।



-4

उपरोक्त कोड Django Jquery फ़ाइल अपलोड के संदर्भ में यहां पाया गया है https://github.com/sigurdga/django-jquery-file-upload

{%%} Django टेम्पलेट टैग हैं। अधिक जानकारी के लिए https://docs.djangoproject.com/en/dev/ref/templates/ पर जाएं

ये टैग django templating प्रणाली द्वारा पार्स किए जाएंगे


2
इस पर कुछ और शोध करने पर मुझे पता चला कि मेरा उत्तर गलत था। इस मामले में टैग का उपयोग इस जावास्क्रिप्ट लाइब्रेरी github.com/sigurdga/django-jquery-file-upload/blob/master/… द्वारा किया जा रहा है , जो AJAX ऑपरेशन के परिणाम के आधार पर वास्तविक समय पर HTML सामग्री को रेंडर करने के लिए एक विधि के रूप में है।
सीजर

7
ये टैग Django टेम्पलेट टैग नहीं हैं, लेकिन सेबस्टियन Tschan द्वारा जावास्क्रिप्ट टेम्प्लेट टैग: blueimp.github.com/JavaScript-Templates
रिकार्डो कार्मो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.