【问题标题】:how to use ternary operator in mustache template如何在胡子模板中使用三元运算符
【发布时间】:2018-12-11 10:22:37
【问题描述】:

我有一个场景,我使用布尔数据获取 {{isdone}} 值。

我想为false 值打印为“待处理”,为true 打印为“完成”。

我正在使用下面的代码,但它不起作用。

{{isdone}} == false ? "pending" : "Done"

【问题讨论】:

  • 你是在圆角还是别的什么地方做的?
  • Mustache 模板被称为“无逻辑”,尽管您可以在其中包含 if/else 语句(有关更多信息,请参阅此问题:stackoverflow.com/questions/6027525/…)。我非常怀疑模板中是否可以使用三元运算符。
  • 谢谢@Seblor,意思是我用谷歌搜索并找到了相同的,

标签: node.js mustache


【解决方案1】:

只要您可以控制上下文数据,正确的方法是传递另一个变量,该变量事先已经包含 pendingDone

如果您无法控制数据,那么可能 mustache 对您不利,因为您可能需要可以在其中包含更多逻辑的模板引擎来稍微转换数据。

【讨论】:

    【解决方案2】:

    ^ 块用于其他。

    您可以(现在)将^ 块用于elsefalse 条件。像这样的东西应该可以工作:

    {{#isdone}}Done{{/isdone}}{{^isdone}}pending{{/isdone}}
    

    或者作为更易读的多行​​代码块:

    {{#isdone}}
    Done
    {{/isdone}}
    {{^isdone}}
    pending
    {{/isdone}}
    

    【讨论】:

      猜你喜欢
      • 2020-03-28
      • 2011-03-07
      • 2012-08-14
      • 2017-05-05
      • 2021-04-01
      • 2019-01-21
      • 2022-01-04
      • 2020-05-10
      • 2022-01-04
      相关资源
      最近更新 更多