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

如何在Grunt Zetzer的include中获取传入的class参数?

解决Grunt Zetzer include模板获取传入参数的问题

嘿,我刚好熟悉Zetzer的用法,你这个问题其实是模板语法的小细节没搞对~

首先要明确:Zetzer底层用的是doT.js模板引擎,所以在被include的模板里,得用doT的插值语法来获取你传入的参数,而不是直接写{it.class}这种格式。

你原来的模板代码:

<div class="hero-slider {it.class} ">

要改成这样:

<div class="hero-slider {{= it.class }}">

这里的{{= ... }}是doT.js里用来输出变量值的语法,它会把it.class对应的extraclass值渲染进去,最终得到<div class="hero-slider extraclass">。

额外优化:处理参数为空的情况

如果有时候你可能不传class参数,为了避免生成多余的空格,可以加个简单的条件判断:

<div class="hero-slider{{= it.class ? ' ' + it.class : '' }}">

这样当没有传class时,只会输出<div class="hero-slider">,不会有多余空格。

另外要确认你的调用代码是完全正确的:

{{= it.include("common/entity-slider-hero.html", {"class" : "extraclass","link" : "http://www.optionlink"}) }}

这个写法没问题,传入的class和link参数都能被include的模板正常读取。

比如完整的entity-slider-hero.html模板可以这么写:

<div class="hero-slider{{= it.class ? ' ' + it.class : '' }}">
  <a href="{{= it.link }}" class="slider-link">
    <!-- 这里放轮播内容 -->
  </a>
</div>

内容的提问来源于stack exchange,提问作者marcos.efrem

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:37:37