首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hogan.js: If语句

Hogan.js: If语句
EN

Stack Overflow用户
提问于 2013-07-10 22:55:56
回答 2查看 2.5K关注 0票数 3

我从文档中了解到,Hogan并不支持很多逻辑--但是你可以通过一些方法来操纵这个模板系统来做你需要的事情。

基本上,这就是我需要的(伪代码-给定people.length >= 1):

代码语言:javascript
复制
{{#if people.length == 1}}
    <p>Your contact person is {{name}}.</p>
{{else}}
    <p>Your contact people are:</p>
    <ul>
    {{#people}}
        <li>{{name}}</li>
    {{/people}}
    </ul>
{{/if}}

在Hogan模板引擎中这是可能的吗?或者我是否需要发送另一个变量来告知我的虚构人员数组中是否恰好有1个成员?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-22 22:45:41

很遗憾,我不会。如果不设置不同的变量,Hogan就无法做到这一点。这是Hogan的主要缺点之一(在我看来)。我不同意“它应该是无逻辑的”是这种缺乏功能的理由。if (true)if (a == b)都是逻辑的,但是Hogan让你做其中一个,而不是另一个。我同意在模板中不应该有逻辑(因为它不能在模板中进行单元测试),但Hogan/mustache在这方面走得太远了。我推荐swig,它提供了Hogan给你的一切,加上if比较,加上循环控制(例如if (loop.first)),加上一个更好、更容易阅读的过滤器语法,而且性能影响很小(根据this,不到1.5秒就超过了100,000个模板,诚然,这是几年前的事情)。

编辑:不再维护swig;但是,无论在范围还是风格上,Nunjucks都与Swig非常相似。

票数 2
EN

Stack Overflow用户

发布于 2013-11-21 06:03:25

简短的awnser应该是不,它应该是无逻辑的

我刚刚问了一个关于类似问题的问题:Hogan.js - reference an item with a specific index选一个

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17573979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档