其中的JavaScript模板引擎嵌套适合生成JSON
小胡子和把手都很棒。 我喜欢他们为他们的个人简单和卓越。 小胡子,因为它是一个单一的模板在很多地方和把手,因为它只提供了更多的function。
我面临的挑战是他们似乎已经实现了输出HTML或其他文档结构的标签是成对的,没有分隔符。
为了进一步澄清,如果你有一个项目的数组将会在列表中输出,那么这个效果很好:
<ul> {{#each items}} <li>{{name}}</li> {{/each}} </ul>
这很好。 但是如果你想输出类似JSON的东西:
[ {{#each items}} { name:{{name}} } {{/each}} ]
这不起作用,因为JSON需要逗号分隔列表中的项目。 而且你不能在最里面的'}'后面加一个逗号,因为这也会导致错误。
有几个post/build议,人们已经要求将可选的分隔符属性添加到#each或添加#join。 一位提交者表示,它应该作为一个插件来实现,因为核心需要简单。
抛开政治。 能够将JavaScript对象格式化为JSONstring似乎非常适合模板。
**最后一个想法。 实际上可能有更好的JavaScript成语来重新格式化一个JavaScript对象。 我想这也是有趣的考虑。
PS:我喜欢这个模板的原因之一是因为它变成了自我logging。
更新:
@Kevin在handlebarsjs团队能够创build一个“助手”function,实现了我失踪的function。 这不是很快,但它代码的工作:
[ {{#join items sep=','}} { name:{{name}} } {{/join}} ]