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.


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.


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.



-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


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.