Apa itu x-tmpl?

87

Sedang mencari jawabannya di internet, tetapi tidak dapat menemukan apa pun. Camilan kecil kode ini benar-benar membuat saya frustrasi, karena saya tidak dapat memahaminya. (Ini bagian dari plugin yang disebut: jQuery File Upload)

<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>
  • Jadi, tipe apa itu text/x-tmpl?
  • Apa ini {%dan %}tag?
  • Parser apa yang menjalankan kode ini?
  • ...

... tapi ingin tahu segalanya tentang ini.

Dyin
sumber
hai bisakah Anda memberi tahu saya bagaimana Anda mengirim data dengan unggahan seperti saya ingin mengirim tempat dengan file itu
NullPoiиteя
@ Mayankswami: Saya tidak mengerti apa yang Anda coba tanyakan dari saya.
Dyin
Saya pikir Anda telah menggunakan upload file jquery sejak itu. saya ingin tahu cara mengirim data formulir dengan file tersebut.
NullPoiиteя
@ Mayankswami: Saya rasa Anda harus mencari pertanyaan Anda di situs ini, dan jika Anda tidak menemukan apa yang Anda cari, buatlah pertanyaan.
Dyin
kode yang sama ini saya lihat di pengunggah file jquery jadi aksed Anda Pak
NullPoiиteя

Jawaban:

64

x-tmpl tidak memiliki arti yang sebenarnya, ini hanya menghentikan browser dari menafsirkan skrip sebagai javascript.

Ini sebagian besar digunakan dengan template jquery atau binding template knockoutjs .

Di beberapa titik, objek data javascript akan digunakan bersama dengan template untuk merender beberapa html. Nilai dalam objek data akan menggantikan nilai yang ditandai dengan {%} dan serupa di template, dengan beberapa {%} bagian yang mencerminkan aliran kode seperti loop dll.

Saya tidak yakin pustaka template mana yang menggunakan {%} namun, ini bukan jquery templates, jsrender atau knockout. Anda harus memeriksa pustaka apa yang dirujuk dalam kode contoh.

NibblyPig
sumber
25
Saya menemukannya di sini Template JavaScript . Skrip dirujuk dari situs ini. Sekarang semuanya masuk akal. Terima kasih atas brefing Anda!
Dyin
1
jQuery tidak berfungsi Saat saya merender HTML dengan x-tmpl. Misalnya saya memiliki kotak centang yang merender di dalam x-tmpl. <label class = "modifiericon btn"> <input type = "checkbox" id = 'seo'> SEO </label>. Skrip ditambahkan di dalam file html. Misalnya <script type = "text / javascript"> $ ('# seo'). Change (function () {if ($ (this) .is (': check')) {alert ('hi');} else {alert ('hello');}} </script>
502_Geek
12

Jadi, apa jenis teks / x-tmpl itu?

Yang non-standar. Sepertinya template.

Apa itu tag {% dan%}?

Bagian dari bahasa template.

Parser apa yang menjalankan kode ini?

Mungkin yang ditulis dalam JavaScript dan diimpor di <script>elemen lain di halaman yang sama.

Quentin
sumber
-3

Kode di atas mereferensikan proyek Django Jquery File Upload ditemukan di sini https://github.com/sigurdga/django-jquery-file-upload

{%%} Adalah tag cetakan Django. Untuk informasi lebih lanjut kunjungi https://docs.djangoproject.com/en/dev/ref/templates/

Tag ini akan diurai oleh sistem template django

czager
sumber
2
Melakukan beberapa penelitian lebih lanjut tentang ini saya menemukan bahwa jawaban saya salah. Dalam kasus ini, tag digunakan oleh pustaka Javascript github.com/sigurdga/django-jquery-file-upload/blob/master/… sebagai metode untuk merender konten HTML pada waktu nyata berdasarkan hasil operasi AJAX.
czager
7
Tag ini bukan tag template Django, tetapi Tag Template Javascript oleh Sebastian Tschan: blueimp.github.com/JavaScript-Templates
Ricardo Carmo