到目前为止mustache
很好,但现在逻辑少似乎不是一个功能。假设,我必须渲染模板,我可以在其中拥有用户的电子邮件和姓名。
如果电子邮件和姓名都存在,我希望我的渲染结果是:
<a href="mailto:EMAIL">NAME</a>
如果存在电子邮件但不存在名称,则结果将是:
<a href="mailto:EMAIL">EMAIL</a>
如果只存在名称,则模板应呈现为:
NAME
所以现在我必须做类似的事情:
{{#email}}<a href="mailto:{{email}}">{{#name}}{{name}}{{/name}}{{^name}}{{email}}{{/name}}</a>{{/email}}{{^email}}{{name}}{{/email}}
这太丑了!而这只是3个条件!如果我需要更多怎么办?我觉得应该有另一种方式来做同样的事情mustache
。还是不应该?
所以,小胡子开发人员认为没有逻辑是一件好事,但我有一个论点。大多数时候我们需要检查模板中的一些变量(大多数时候我们只需要检查是否存在)。所以我会做类似的事情:
{% if email %}{{ email }}{% else %}{{ name }}{% endif %}
这看起来更全面
{{#email}}{{email}}{{/email}}{{^email}}{{name}}{{/email}}
不是吗?
如果我也需要检查name
:
{% if email %}{{email}}{% elif name %}{{name}}{% else %}Anonymous{% endif %}
对比
{{#email}}{{email}}{{/email}}{{^email}}{{#name}}{{name}}{{/name}}{{^name}}Anonymous{{/name}}{{/email}}
如果没有,你会建议另一个模板库来呈现模板javascript
吗?与(jQuery-plugin)集成jQuery
是一个优势,但不是必需的——我可以自己做。
谢谢。