我需要检查空值,空字符串和仅包含空格的字符串,并用" No Content"替换它们。
我试过了,但它只适用于null和空字符串,不适用于只有空格的字符串。
{{#if value}}
{{value}}
{{else}}
<p>No Content</p>
{{/if}}
怎么做?助手是唯一的选择吗?
答案 0 :(得分:0)
这是一个有用的助手。
Handlebars.registerHelper('check', function(value, comparator) {
return (value === comparator) ? 'No content' : value;
});
测试模板
{{#check value ""}}
{{this}}
{{/check}}
{{#check value null}}
{{this}}
{{/check}}
{{#check value undefined}}
{{this}}
{{/check}}
答案 1 :(得分:0)
正如您在问题中提到的那样,即使JavaScript中仅包含空格字符,长度也为非零的字符串还是Truthy。这就是为什么一串空格字符将与模板中的join
大小写匹配并呈现值而不是呈现val program: IO[Unit] = (app, longRunningOperation).parTupled.void
大小写的原因。
由于您的特殊情况是您只想将空白字符的字符串与空trigger:
- main
pr:
- main
- releases/*
pool:
vmImage: 'ubuntu-20.04'
container: adoptopenjdk:latest
steps:
- script: ./gradlew check
和{{if value}}
相同,因此您需要创建一个自定义的Handlebars Helper。
您可以在助手中进行评估的一种方法是使用Regular Expression删除所有空白字符,然后检查结果的长度。助手看起来像:
{{else}}
我创建了一个fiddle供参考。