Javascript模板引擎与jQuery一起使用

时间:2012-03-01 16:39:37

标签: javascript jquery template-engine

全部, 我正在尝试使用jQuery文件上传演示: http://blueimp.github.com/jQuery-File-Upload/

我的问题是它在文档中说它使用了Javascript模板引擎(https://github.com/blueimp/jQuery-File-Upload/wiki/Template-Engine

但是,我不熟悉这个过程。我正在尝试将其集成到我的Wordpress博客中以允许以这种方式上传文件。在index.html中,它定义了以下模板:

<script id="template-upload" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
    <tr class="template-upload fade">
        <td class="preview"><span class="fade"></span></td>
        <td class="name">{%=file.name%}</td>
        <td class="size">{%=o.formatFileSize(file.size)%}</td>
        {% if (file.error) { %}
            <td class="error" colspan="2"><span class="label label-important">{%=locale.fileupload.error%}</span> {%=locale.fileupload.errors[file.error] || file.error%}</td>
        {% } else if (o.files.valid && !i) { %}
            <td>
                <div class="progress progress-success progress-striped active"><div class="bar" style="width:0%;"></div></div>
            </td>
            <td class="start">{% if (!o.options.autoUpload) { %}
                <button class="btn btn-primary">
                    <i class="icon-upload icon-white"></i> {%=locale.fileupload.start%}
                </button>
            {% } %}</td>
        {% } else { %}
            <td colspan="2"></td>
        {% } %}
        <td class="cancel">{% if (!i) { %}
            <button class="btn btn-warning">
                <i class="icon-ban-circle icon-white"></i> {%=locale.fileupload.cancel%}
            </button>
        {% } %}</td>
    </tr>
{% } %}
</script>

我正在使用jQuery Tmpl代码(https://github.com/jquery/jquery-tmpl),当我尝试在我的Wordpress博客中创建它时,我在这些行上的jquery.fileupload-ui.js文件中出现了一些错误:

_initTemplates: function () {
        var options = this.options;
        options.templateContainer = document.createElement(
            this._files.prop('nodeName')
        );
        options.uploadTemplate = tmpl(options.uploadTemplateId);
        options.downloadTemplate = tmpl(options.downloadTemplateId);
    },

此文件的前一部分定义如下:uploadTemplateId:'template-upload',

我很困惑为什么这不起作用,甚至如何使用我自己的javascript模板来做到这一点?当我尝试将这些文件复制到我的Wordpress博客时,它总是失败,我认为我唯一没有复制的是初始下载中的package.JSON和.gitignore文件。这些文件有何意义?只是想了解这个模板是什么以及如何使用它?

非常感谢您提前指出我的任何事情!谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

.gitignore是源控件文件,与脚本无关 - 有关详细信息,请参阅http://help.github.com/ignore-files/

package.JSON是jquery插件的元数据文件,供新jquery插件站点使用,与您尝试使用的插件的功能无关 - 有关详细信息,请参阅https://github.com/jquery/plugins.jquery.com#readme

我对错误的最佳猜测是插件与wordpress上已有的脚本文件冲突。

您可以发布实际的错误消息吗?