首页 > 解决方案 > 如何在 Node.js 的 Handlbars 中检查数字的值?

问题描述

我正在运行一个 node.js 服务器,我在其中使用 Handlebars 作为视图引擎 (hbs)。在我看来,我需要设置正数、负数和中性数字的样式,但我不知道如何正确使用 Handlebars。我已经尝试为 if 条件注册一个助手,但看不到如何使用它。

无论如何,我基本上只有一个值:entry.change将是负值、正值或中性值(-X,+X,0)。

并基于该属性,我想渲染不同的跨度元素,例如<span class="negative">-X</span>等。

我该怎么做呢?

标签: node.jshandlebars.js

解决方案


您可以创建另一个助手:

Handlebars.registerHelper('getNumberClass', function(number) {
  if (number > 0) {
    return 'positive'
  } else if (number === 0) {
    return 'neutral'
  } else {
    return 'negative'
  }
});

和用法:

<span class="{{getNumberClass entry.change}}">{{entry.change}}</span>

推荐阅读