<script id="template-upload" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
<tr class="template-upload fade">
{% if (file.error) { %}
<td class="name">{%=file.name%}</td>
<td class="size">{%=o.formatFileSize(file.size)%}</td>
<td class="error"><span class="label label-important">{%=locale.fileupload.error%}</span> {%=locale.fileupload.errors[file.error] || file.error%}</td>
{% } else if (o.files.valid && !i) { %}
<td class="name">
{%=file.name%}
<div class="progress progress-success progress-striped active"><div class="bar" style="width:0%;"></div></div>
</td>
<td class="size">{%=o.formatFileSize(file.size)%}</td>
<td class="start">{% if (!o.options.autoUpload) { %}
<button class="btn btn-success">
<span class="icon-upload"></span>
<span>{%=locale.fileupload.start%}</span>
</button>
{% } %}</td>
{% } else { %}
<td class="name">{%=file.name%}</td>
<td class="size">{%=o.formatFileSize(file.size)%}</td>
<td></td>
{% } %}
<td class="cancel">{% if (!i) { %}
<button class="btn btn-warning">
<span class="icon-ban-circle"></span>
<span>{%=locale.fileupload.cancel%}</span>
</button>
{% } %}</td>
</tr>
{% } %}
</script>
<!-- The template to display files after 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 class="name">{%=file.name%}</td>
<td class="size">{%=o.formatFileSize(file.size)%}</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="name">{%=file.name%}</td>
<td class="size">{%=o.formatFileSize(file.size)%}</td>
<td colspan="2"></td>
{% } %}
</tr>
{% } %}
</script>
这段代码里面的o是什么,for循环 条件里面o
文件上下文中没有这个o
传给模板的自定义变量呗
https://github.com/blueimp/JavaScript-Templates/blob/master/README.md
渲染模板的时候会用到数据对象,o就是这个对象里的