使JQuery模板可重用

使JQuery模板可重用,jquery,jquery-templates,Jquery,Jquery Templates,我想创建一个将在项目范围内使用的jQuery模板。我更愿意将模板放在一个或多个单独的文件中,并在项目启动时使用函数编译它们 我不希望模板出现在标记中,也不希望出现在脚本标记中。这可能吗?我该怎么做?正如RoccoC5所建议的,您可以定义一个小插件,它将获取远程模板,然后将其内容附加到头部的脚本标记中: (function ($) { $.loadTmpl = function (url, name) { return $.get(url).success(function

我想创建一个将在项目范围内使用的jQuery模板。我更愿意将模板放在一个或多个单独的文件中,并在项目启动时使用函数编译它们


我不希望模板出现在标记中,也不希望出现在脚本标记中。这可能吗?我该怎么做?

正如RoccoC5所建议的,您可以定义一个小插件,它将获取远程模板,然后将其内容附加到头部的脚本标记中:

(function ($) {
    $.loadTmpl = function (url, name) {
        return $.get(url).success(function (content){
            $("head").append($('<script/>', {
                id: name,
                type: 'text/template'
            }).html(content));
        });
    };
}(jQuery));
或:


希望有此帮助。

正如RoccoC5所建议的,您可以定义一个小插件,用于获取远程模板,然后将其内容附加到头部的脚本标记中:

(function ($) {
    $.loadTmpl = function (url, name) {
        return $.get(url).success(function (content){
            $("head").append($('<script/>', {
                id: name,
                type: 'text/template'
            }).html(content));
        });
    };
}(jQuery));
或:


希望对您有所帮助。

模板仅用作字符串,因此您甚至不必插入脚本。只需将字符串直接传递给jQuery.template。所以调整@abernier的建议,你可以做如下的事情。我假设您将文件命名为与要使用的模板名称相同的名称,并将它们存储在TMPLPATH中

    $.loadTmpl = function (name) {
        return $.get(TMPLPATH + name + ".tmpl").success(function (content){
            $.template(name, content);
        });
    };

模板只是用作字符串,所以您甚至不必注入脚本。只需将字符串直接传递给jQuery.template。所以调整@abernier的建议,你可以做如下的事情。我假设您将文件命名为与要使用的模板名称相同的名称,并将它们存储在TMPLPATH中

    $.loadTmpl = function (name) {
        return $.get(TMPLPATH + name + ".tmpl").success(function (content){
            $.template(name, content);
        });
    };

对这是可能的:在ASP.NET WebForms中,您可以创建模板作为用户控件;在MVC中作为局部视图。您还可以创建包含模板标记的简单HTML页面,并通过$.load加载它们。我想有很多方法可以做到这一点。这就是我所做的,我为模板创建了一个部分。是的。这是可能的:在ASP.NET WebForms中,您可以创建模板作为用户控件;在MVC中作为局部视图。您还可以创建包含模板标记的简单HTML页面,并通过$.load加载它们。我想有很多方法可以做到这一点。这就是我所做的,我为模板创建了一个部分。