gpt4 book ai didi

javascript - Hogan.js:If 语句

转载 作者:行者123 更新时间:2023-11-28 00:07:46 24 4
gpt4 key购买 nike

我从文档中了解到 Hogan 不支持很多逻辑 - 但是您可以通过一些方法来操纵此模板系统来执行您需要的操作。

基本上,这就是我需要的(在伪代码中——假设 people.length >= 1):

{{#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 个成员?

最佳答案

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

编辑:Swig 不再维护;然而,Nunjucks在范围和风格上都与 swig 非常相似。

关于javascript - Hogan.js:If 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17573979/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com