Javascript 有没有办法将把手部分(带变量)传递给另一个助手?

Javascript 有没有办法将把手部分(带变量)传递给另一个助手?,javascript,handlebars.js,Javascript,Handlebars.js,所以有一个模板文件,它为我的网页中的一个组件生成了一些不同的布局,不同的变量决定了大小等等。因此,为了减少项目中的文件数量,我尝试将模板文件重新用于代码片段,而不是为它们提供专用文件。通过子表达式,我有了这样做的想法: {{ escape (template var1=var1 var2=var2 var3=var3) }} 其中escape是一个获取字符串并将其转义的助手(很有趣),并且: 应该与{>template var1=var1 var2=var2 var3=var3}}具有相同的效

所以有一个模板文件,它为我的网页中的一个组件生成了一些不同的布局,不同的变量决定了大小等等。因此,为了减少项目中的文件数量,我尝试将模板文件重新用于代码片段,而不是为它们提供专用文件。通过子表达式,我有了这样做的想法:

{{ escape (template var1=var1 var2=var2 var3=var3) }}
其中
escape
是一个获取字符串并将其转义的助手(很有趣),并且:

应该与
{>template var1=var1 var2=var2 var3=var3}}
具有相同的效果,以字符串形式返回完整的标记

助手似乎没有收到任何字符串,因为在参数上运行
typeof
返回
undefined
。我曾经假设,由于文件中较高的位置使用了
{>template var1=var1 var2=var2 var3=var3}
,这是为了在文件的其余部分中注册它以供使用,但现在我想这不是Handlebar的工作方式


是否有可能像这样检索分部,或者它需要使用
{{{code>语法(不起作用)?

当我问这个问题时,我对如何以编程方式将上下文应用于分部感到有点困惑。现在我做了更多的研究(我在问之前尝试过,但没有结果),我现在知道,
handlebar.compile(partial)
将返回给定部分的对象,并允许通过应返回的
partial(context)
提供上下文


示例代码

function escape(partial) {
    let compiledPartial = Handlebars.compile(partial);

    let context = { greeting: "Hello World!" };

    return compiledPartial(context);
}

为什么不将
template
从partial更改为block helper,因为这就是您想要使用它的方式?是的,当我提交此问题时,以编程方式编译partial并不是我所熟悉的。我现在正尝试使用这种方法,而不是上面尝试的方法。
function escape(partial) {
    let compiledPartial = Handlebars.compile(partial);

    let context = { greeting: "Hello World!" };

    return compiledPartial(context);
}