我有一个Handlebar助手来调用模板中的模板,
用法是这样的:
applyTemplate subTemplateId arg1 = 123 arg2 ="abc"...
也可以传递html内容
{{# applyTemplate "tli" a=1 b="y"}}
... any content here will get passed to the sub template with {{content}}
{{/ applyTemplate }}
Run Code Online (Sandbox Code Playgroud)
这个jsFiddle说明了它是如何工作的:http://jsfiddle.net/maxl/ywUjj/
我的问题:我希望调用范围中的变量可以在子模板中访问,在jsFiddle中,注意{{topLevelVar}}如何不可用.
谢谢
因此,我阅读了有关Handlebars零件的官方文档。
它指出:
为了使用局部,必须通过进行注册
Handlebars.registerPartial。
Handlebars.registerPartial('myPartial', '{{name}}')此调用将注册myPartial部分。可以对部分函数进行预编译,并将预编译的模板传递到第二个参数中。
它不解释{{name}}当您不进行任何预编译时应该是什么。我不想注册内联模板,我将它们作为单独的文件存储在中templates/partials,例如templates/partials/_header.hbs。在使用时,我只需要在生成过程中生成HTML gulp-handlebars。
该文档未涵盖如何将外部文件注册为模板(在服务器端使用把手时,我认为这是标准情况)。
有人可以帮忙吗?