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.