是否有一种方法可以将Handlebars部分(带变量)传递给另一个助手
Is there a way to pass a Handlebars partial (with variables) into another helper?
所以有一个模板文件,是生成几个不同的布局组件在我的网页与不同的变量规定的大小和什么。因此,为了减少项目中的文件数量,我试图为代码片段重用模板文件,而不是为它们提供专用文件。通过子表达式,我有了这样做的想法:
{{ escape (template var1=var1 var2=var2 var3=var3) }}
,其中escape
是一个助手,它接受一个字符串并转义它(很有趣),和:
(template var1=var1 var2=var2 var3=var3)
应该具有与{{> template var1=var1 var2=var2 var3=var3 }}
相同的效果,返回完整的标记,可能是字符串。
helper似乎没有收到任何字符串,因为在参数上运行typeof
正在返回undefined
。我曾假设,因为{{> template var1=var1 var2=var2 var3=var3 }}
在文件中被更高地使用,这是注册它用于文件的其余部分,但现在我认为这不是Handlebars如何做它的事情。
是否有可能检索这样的部分,或者它需要使用{{>
语法(这不起作用)?
在我问这个问题的时候,我对如何以编程方式将上下文应用于部分感到有点困惑。现在我已经做了更多的研究(我确实在询问之前尝试过,但一无所获),我现在知道Handlebars.compile(partial)
将返回给定部分的对象,并允许通过partial(context)
给出应该返回的上下文。
样例代码
function escape(partial) {
let compiledPartial = Handlebars.compile(partial);
let context = { greeting: "Hello World!" };
return compiledPartial(context);
}
相关文章:
- 导航到特定事件的另一个变量页面
- 在另一个函数中使用变量this
- 将节点数据分配给另一个变量jstree
- 如何将变量传递到另一个js文件
- 如何从onclick函数设置全局变量并将其传递给另一个JS文件
- 将会话变量从一个页面传递到另一个页面
- 替换另一个变量对象中的变量值
- 如何将JavaScript变量的数据传递到另一个php页面
- 如何将变量值附加到另一个变量
- 如何将一个变量从一个控制器传递到合金中的另一个控制器
- 当我更新另一个作用域变量时,作用域变量会自动更新
- 是否可以在另一个变量中使用未声明的变量
- 使用JavaScript打开另一个html页面时传递变量
- JS/ANGULAR使用一个变量's值作为另一个对象的键
- 将php页面URL中的变量传递给JavaScript和另一个php
- 用javascript将信息/变量从一个网页传递到另一个网页
- 如何使用javascript/jquery将变量从一个PHP文件传递到另一个PHP文件
- 变量比另一个变量少一个
- Javascript:OnChange事件,将数组变量传递给另一个函数
- javascript将函数中一个变量的参数值传递给父函数中的另一个