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.
Jawaban:
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.
sumber
Yang non-standar. Sepertinya template.
Bagian dari bahasa template.
Mungkin yang ditulis dalam JavaScript dan diimpor di
<script>
elemen lain di halaman yang sama.sumber
jQuery-File-Upload
memiliki ketergantunganJavaScript-Templates
yang menggunakantext/x-tmpl
jenis pantomim tidak standarsumber
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
sumber