c# - Handlebars C# if equals 比较
问题描述
我正在尝试在 Handlebars .NET 上进行 if equals 比较。{{#if xxx}}
正在使用布尔值。如何{{#if x = 'foo'}}
在 Handlebars .NET 中进行比较?
解决方案
您只能在此处使用数据中的布尔值,不能使用表达式:
{{#if foo}}
{{helloMessage}}
{{/if}}
foo 将是一个布尔值:
var data = new
{
helloMessage = "Hello world!",
foo = true
};
.
如果你想处理类似表达式的行为,你也可以像这样注册一个块处理程序:
Handlebars.RegisterHelper("ifEq", (output, options, context, arguments) =>
{
if (arguments[0] == arguments[1])
{
options.Template(output, context);
}
else
{
options.Inverse(output, context);
}
});
并在您的模板中使用它:
{{#ifEq foo ""bar""}}
{{body}}
{{/ifEq}}
但这在某种程度上与我对模板的理解相矛盾。
推荐阅读
- ios - SwiftUI - 将 ListStyle 包装在一个枚举中并将其转换回 ListStyle
- cakephp - AuthenticationMiddleware.php 中的 process() 函数有时耗时太长
- python - 如何让 pip install 将软件包安装到 64 位版本,而不是 32 位版本?
- vue.js - 使用 vue cli 构建部署的 Gh 页面不起作用
- r - 优化:求解给定 R 中已知输出值的输入值
- javascript - 为什么边距在父 div 范围之外
- python - 为 SageMaker 预测传递多行输入
- java - 服务和媒体播放器的奇怪行为
- python - 一种在值上传输列名的方法
- reactjs - Next.js 如何管理组件状态