从客户端隐藏HTML模板

时间:2014-07-25 07:27:10

标签: javascript jquery html knockout.js template-engine

我希望尽可能保持客户端代码的清洁和最小化。我的项目使用Knockout JS和这个模板引擎:https://github.com/blueimp/JavaScript-Templates。我在源代码的底部创建了模板,计算值在" pre"每个teamplate部分(我真的不想看到它)。有没有办法隐藏模板并在DOM加载时调用它?

1 个答案:

答案 0 :(得分:-1)

要从服务器加载模板,将它们放在自己的小.html文件中,然后在客户端上,您可以使用jquery将它们提取到变量中:

// The variable that we're going to put the template in
var myTemplate;

$.ajax({
      async: false,
      type: "GET",
      url: "/templates/myTemplate.html",
      success : function(data) {
            myTemplate = data;
      }
 });

然后,当您想要使用模板时,可以使用模板调用templ()

 var result = tmpl(myTemplate, data);

注意:我强制jquery使用async:false进行同步,因为你想确保在你打电话时模板就在那里。