How to make a If statement in handlebars?

问题描述 投票:0回答:1

我正在车把上制作一个页面,其中包含您可以获得的每枚奖牌的条件。它还为传入 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}}
javascript database model handlebars.js
1个回答
0
投票

如果要在“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} }

可以在这里找到有关如何使用助手的文档。

© www.soinside.com 2019 - 2024. All rights reserved.