Що таке x-tmpl?


86

Шукав відповідь в мережі, але нічого не зміг знайти. Цей невеликий перекус коду насправді засмучує, оскільки я не можу його зрозуміти. (Це частина плагіна під назвою: 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>
  • Отже, що це за тип text/x-tmpl?
  • Що це {%і %}теги?
  • Який парсер виконує цей код?
  • ...

... але хотів би знати про це все.


привіт, скажіть мені, як ви надіслали дані при завантаженні, як я хочу надіслати місце з файлом
NullPoiиteя

@Mayankswami: Я не отримую від мене того, про що ти намагаєшся запитати.
Dyin

я думаю, ви використовуєте завантаження файлу jquery з тих пір. я хочу знати, як надсилати дані форми разом із файлом.
NullPoiиteя

@Mayankswami: Я думаю, вам слід шукати своє запитання на цьому сайті, і якщо ви не знайдете того, що шукаєте, створіть запитання.
Dyin

Такий самий пароль , який я бачив в JQuery файл користувача так aksed, сер
NullPoiіteя

Відповіді:


63

x-tmpl не має реального значення, він просто перешкоджає браузеру інтерпретувати сценарій як javascript.

Він в основному використовується з шаблонами jquery або прив'язкою шаблонів knockoutjs .

У якийсь момент об’єкт даних javascript буде використовуватися разом із шаблоном для відображення деякого html. Значення в об'єкті даних замінять значення, позначені {%} та подібні у шаблоні, деякі розділи {%} відображають потік коду, наприклад цикли тощо.

Я не впевнений, яка бібліотека шаблонів використовує {%}, проте, це не шаблони jquery, jsrender чи нокаут. Вам доведеться перевірити, на які бібліотеки посилаються в зразку коду.


25
Я знайшов його тут Шаблони JavaScript . На сценарій було посилання з цього сайту. Зараз все це має сенс. Дякуємо за ваш брефінг!
Dyin

1
jQuery не працював, коли я відображаю HTML за допомогою x-tmpl. Наприклад, у мене є прапорець, який відображається всередині x-tmpl. <label class = "modifiericon btn"> <input type = "checkbox" id = 'seo'> SEO </label>. Сценарій, доданий до HTML-файлу. Наприклад, <script type = "text / javascript"> $ ('# seo'). Change (function () {if ($ (this) .is (': check')) {alert ('hi');} else {alert ('hello');}} </script>
502_Geek

11

Отже, якого типу є text / x-tmpl?

Нестандартний. Виглядає як шаблон.

Що це за теги {% та%}?

Частина мови шаблону.

Який парсер виконує цей код?

Можливо, написаний на JavaScript та імпортований в інший <script>елемент на тій же сторінці.



-4

Наведений вище код посилається на проект Django Jquery File Upload, який можна знайти тут https://github.com/sigurdga/django-jquery-file-upload

{%%} - це теги шаблону Django. Для отримання додаткової інформації відвідайте https://docs.djangoproject.com/en/dev/ref/templates/

Ці теги будуть проаналізовані системою шаблонів django


2
Проводячи ще кілька досліджень з цього приводу, я виявив, що моя відповідь була неправильною. У цьому випадку теги використовуються цією бібліотекою Javascript github.com/sigurdga/django-jquery-file-upload/blob/master/… як метод відображення вмісту HTML у реальному часі на основі результату операції AJAX.
czager

7
Ці теги не є тегами шаблонів Django, а тегами шаблонів Javascript Себастьяна Цхана: blueimp.github.com/JavaScript-Templates
Рікардо Кармо
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.