jquery - 制作jquery tmpl,无需大量额外的脚本标签

标签 jquery jquery-templates

我一直在阅读有关 jQuery 模板插件的文章 http://api.jquery.com/tmpl/作为将数据绑定(bind)到标记的一种方法。所有示例似乎都表明您在脚本新脚本标记中定义了模板。我实际上不想让我的 html <head> 变得困惑与所有这些脚本标签。

有更好的方法来组织这个吗?也许有一个包含动态加载脚本的模板文件夹?

最佳答案

你不必这样做。例如,您可以将模板保存在 .js 文件中(有点像消息目录):

// this is a file full of templates
var SITE_TEMPLATES = {
  ERROR_1: 'This is an error template: the error is ${error.msg}',
  WHATEVER: 'I cannot make this stuff up but you get the ${idea}'
};

将其拉入,然后您可以通过

使用模板
$('#someplace').append($.tmpl(SITE_TEMPLATES.ERROR_1, { error: { msg: "hello world" }}));

换句话说,$.tmpl()允许您传入模板主体作为第一个参数,它可以来自任何地方。

或者,因为将长模板编写为 Javascript 字符串常量有点困惑,所以您可以堆积一堆文本 <script>单个静态 HTML 文件中的标签。然后您可以 AJAX 并将其放入隐藏的 <div> 中或者其他的东西。这样您仍然可以获得缓存的优势,并且维护模板可能会更容易。

当然,沿着这些思路,您可以将模板作为单独的文件单独维护,并在站点构建时根据任何打包方案将它们粘合在一起。

关于jquery - 制作jquery tmpl,无需大量额外的脚本标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4034514/

相关文章:

jquery - 避免包含 jQuery 模板的 Jinja2 中出现不明确的 mustache

jquery - 有没有办法将 jQuery 模板(官方插件)与 jQuery UI 自动完成一起使用?

jquery - 如何使用 jQuery 模板设置日期/时间格式?

knockout.js - 是否可以在模板绑定(bind)中添加可选的绑定(bind)参数?

c# - 为什么在 MVC 1 中工作的 ajax 在 MVC3 中不能工作?

jquery - Bootstrap 的数据表下拉菜单不起作用

javascript - 拉斐尔Js : Circle doesn't show proper value

javascript - 获取类的值

javascript - 如何查看带有 alert() 的对象

Jquery 模板 : One parent container, 很多 child 吗?