我已经在JS中创建了一个包装Handlebars的自定义类,这样我可以在渲染模板时执行回调,但由于Handlebars中的部分是自动生成的,所以当部分是自动生成时,我怎么能执行回调?渲染?
我试图覆盖'>'帮助但它不起作用......我不知道如何做到这一点。
谢谢你们的帮助。
答案 0 :(得分:2)
Handlebars运行时调用方法Handlebars.VM.invokePartial
来执行部分。您可以覆盖它以添加回调函数调用:
Handlebars.VM.invokePartialOrigin = Handlebars.VM.invokePartial;
Handlebars.VM.invokePartial = function () {
var args = [].slice.call(arguments, 0);
Handlebars.VM.invokePartialOrigin.apply(Handlebars.VM, args);
callback(args);
};
答案 1 :(得分:0)
更直接的方法:
const template = Handlebars.compile(source)
Handlebars.registerPartial(name, (ctx, options) => {
callback(ctx)
return template(ctx)
})