You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Handlebars.js的if语句块中执行字符串包含检查

在Handlebars.js的if语句中实现字符串包含检查

Handlebars本身没有内置的字符串包含判断功能,要实现你需要的逻辑,得先自定义一个模板助手(helper),再在模板里调用它。

1. 注册自定义contains助手

在你的JavaScript代码中注册一个用于检查字符串是否包含指定子串的助手:

// 基础版本(支持ES6及以上环境)
Handlebars.registerHelper('contains', function(str, substr) {
  // 先判断原字符串是否存在,避免空值报错
  if (!str) return false;
  return str.includes(substr);
});

// 兼容旧环境的版本(用indexOf替代includes)
Handlebars.registerHelper('contains', function(str, substr) {
  if (!str) return false;
  return str.indexOf(substr) !== -1;
});

2. 在模板中使用助手实现逻辑

按照你的场景,先判断loop_var.imageUri是否存在,再通过contains助手检查是否包含"foo",渲染不同尺寸的img标签:

{{#if loop_var.imageUri}}
  {{#if (contains loop_var.imageUri "foo")}}
    <img src="{{loop_var.imageUri}}" width="50" height="50" alt="Content Image">
  {{else}}
    <img src="{{loop_var.imageUri}}" width="150" height="150" alt="Content Image">
  {{/if}}
{{/if}}

内容的提问来源于stack exchange,提问作者user352290

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 15:54:53