2012-04-05 29 views
81

Ищет ответ в сети, но ничего не нашел. Эта небольшая закуска кода действительно меня разочаровывает, поскольку я не могу ее понять. (Это часть плагин называется: JQuery File Upload)Что такое x-tmpl?

<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?
  • Что это за {% и %} теги?
  • Какой парсер выполняет этот код?
  • ...

... но хотелось бы знать все об этом.

+0

эй бы вы рассказать мне, как вы отправили данные с загрузкой, как я хочу, чтобы отправить место с файлом –

+0

@Mayankswami: I не получите то, что вы пытаетесь спросить у меня. – Dyin

+0

Я думаю, вы использовали загрузку файла jquery с тех пор. Я хочу знать, как отправить данные формы с файлом. –

ответ

60

x-tmpl не имеет реального смысла, он просто останавливает браузер от интерпретации сценария как javascript.

В основном используется с шаблонами jquery или knockoutjs template binding.

В какой-то момент объект данных javascript будет использоваться вместе с шаблоном для визуализации некоторого html. Значения в объекте данных заменяют значения, отмеченные {%} и аналогичными в шаблоне, с некоторыми разделами {%}, отражающими поток кода, например, циклы и т. Д.

Я не уверен, какая библиотека шаблонов использует {%} однако это не шаблоны jquery, jsrender или нокаут. Вам нужно будет проверить, на какие библиотеки ссылаются в примере кода.

+24

Я нашел его здесь [Шаблоны JavaScript] (http://blueimp.github.com/JavaScript-Templates/). Сценарий был указан с этого сайта. Теперь все имеет смысл. Спасибо, что забрали! – Dyin

+1

jQuery не работает Когда я обрабатываю HTML с помощью x-tmpl. Например, у меня есть флажок, который отображает внутри x-tmpl. . Сценарий добавлен в html-файл. Например,

11

Итак, какой тип текста/x-tmpl?

Нестандартный один. Похоже на шаблон.

Каковы эти {% и%} теги?

Часть языка шаблона.

Какой парсер выполняет этот код?

Возможно, один из них написан на JavaScript и импортирован в другой элемент <script> на той же странице.

-3

Код выше ссылки проект Django Jquery загрузки файла здесь https://github.com/sigurdga/django-jquery-file-upload

{%%} являются теги шаблонов Django. Для получения дополнительной информации посетите https://docs.djangoproject.com/en/dev/ref/templates/

Эти теги будут анализироваться системой Джанго шаблонного

+2

Сделав еще несколько исследований по этому вопросу, я узнал, что мой ответ был неправильным. В этом случае теги использовались этой библиотекой Javascript https://github.com/sigurdga /django-jquery-file-upload/blob/master/fileupload/static/js/tmpl.min.js как метод визуализации содержимого HTML в реальном времени на основе результата операции AJAX. – czager

+7

Эти теги не являются тегами шаблона Django , но теги шаблона Javascript от Sebastian Tschan: http://blueimp.github.com/JavaScript-Templates/ –

Смежные вопросы