javascript 如何在handlebars中创建If语句?

6ss1mwsb  于 2023-04-19  发布在  Java
关注(0)|答案(1)|浏览(132)

我做了一个页面在车把,有一个如果你可以赚取的每枚奖牌。它还使用了一个db的用户,通过在medalProgress。出于某种原因,无论我做什么,它给予我一个错误,甚至不加载的主要,即使它应该只是不渲染的一部分,如果没有什么。medalPrgress的默认值是0,所以现在我会很高兴,如果该网站只是再次加载。我可以通过改变模型中的默认值来测试另一个if。
这是给我带来麻烦的代码块:

{{#if user.medalProgress == 0}}
            <p>askljfdsjklf</p>
            {{/if}}

这是我目前为止所尝试的:

{{#if medalProgress = 0}}

{{#if medalProgress == 0}}
{{#if medalProgress === 0}}

{{#if user.medalProgress = 0}}
{{#if user.medalProgress == 0}}
{{#if user.medalProgress === 0}}
92dk7w1h

92dk7w1h1#

如果您想在“user.medalProgress”为0时显示HTML,那么就像这样添加includeZero=true

{{#if medalProgress includeZero=true}}
  <p>medalProgress is true even if it is 0</p>
{{/if}}

但是,如果你想使用更复杂的if语句,你需要使用内置帮助器的子表达式,在这个例子中,它只会在user.medalProgress为0时呈现:(同一个例子)

/* Template */
{{#if (IfStatment user.medalProgress) }}
  user.medalProgress is 0
{{else}}
  user.medalProgress is not 0
{{/if}}
/* Preparation-Script */
Handlebars.registerHelper('IfStatment', function (value) {
  return value === 0;
});
/* Input */
{ user: {medalProgress: 0} }

关于如何使用Helpers的文档可以在这里找到。

相关问题