使用车把隐藏筛选项目的空列表

时间:2018-10-06 17:18:45

标签: html handlebars.js

目标

在车把中,如果列表为空,则隐藏已过滤项目的列表(包括其标题)。

当前代码(如果为空,则无逻辑隐藏过滤列表)

{{#if workItems}}

# Fabric
## New
{{#filter 'fabric-new'}}
{{#workItems}}
{{{ field-html 'Platform.ReleaseNote' }}}
{{/workItems}}
{{/filter}}

## Fixed
{{#filter 'fabric-known'}}
{{#workItems}}
{{{ field-html 'Platform.ReleaseNote' }}}
{{/workItems}}
{{/filter}}

{{else}}
{{/if}}

返回

# Fabric
## New
Release Note
Release Note
Release Note

## Fixed

由于在## Fixed部分的过滤器中未返回任何项目,因此预期输出中的## Fixed部分为空。

所需的输出

我想应用这样的逻辑:如果## Fixed部分中的过滤器未返回任何项目,则## Fixed部分(包括其标题)将被隐藏。

# Fabric
## New
Release Note
Release Note
Release Note

(作为第二个目标,可能超出了此问题的范围,如果都是 # Fabric,我想隐藏整个## New部分及其标题和## Fixed部分为空。)

尝试1

有人告诉我,如果项目列表为空,这就是我应该隐藏空白部分的方向。

{{#if fabric.workItems}}

 # Known issues
{{#fabric.workItems}}
{{{ field-html 'Platform.ReleaseNote' }}}
{{/fabric.workItems}}

{{/if}}

失败

我尝试实现此建议的尝试隐藏了New部分,即使过滤器返回了项目。 (此示例中不包括Fixed,因为New失败了,我没有继续。)

{{#if workItems}}

## Fabric
{{#if new.workItems}}

### New
{{#filter 'fabric-new'}}
{{#new.workItems}}
{{{ field-html 'Platform.ReleaseNote' }}}
{{/new.workItems}}
{{/filter}}
{{/if}}

{{else}}
{{/if}}

我尝试了几次失败的迭代,但是除非有人提出,否则不要将所有问题都包含进去,从而使这个问题不必要地冗长。

我才刚刚开始学习把手,如果能为我寻求解答的指导或文档说明提供任何支持,我将不胜感激。如果我的问题中缺少重要信息,我将致歉并提供。谢谢。

0 个答案:

没有答案