gpt4 book ai didi

javascript - 如何访问dust.js 中的 block 助手主体?

转载 作者:行者123 更新时间:2023-11-28 01:50:36 25 4
gpt4 key购买 nike

我正在尝试为 Dust.js 实现一个 sprintf 助手。为此,我需要访问 @sprintf block 助手的内容。该 block 可能包含在我访问 block 主体时需要解释的其他帮助程序或变量 - 这意味着我需要获取主体的结果。

// JSON context: { name: "Fred" }
{@sprintf day="Saturday"}Hello {name}, today is %s!{/sprintf}

我如何访问“Hello Fred,今天是 %s!”在我的辅助函数中?

最佳答案

我最终使用了 this gist 中的代码片段。我修改了它以满足我的需要。

这是我的结果(以及我自己问题的答案):

dust.helpers.myHelper = function(chunk, context, bodies, params) {
var output = "";
chunk.tap(function (data) {
output += data;
return "";
}).render(bodies.block, context).untap();
console.log( output ); // This will now show the rendered result of the block
return chunk;
}

这也可以抽象为一个单独的函数:

function renderBlock(block, chunk, context) {
var output = "";
chunk.tap(function (data) {
output += data;
return "";
}).render(block, context).untap();
return output;
}

dust.helpers.myHelper = function(chunk, context, bodies, params) {
var output = renderBlock(bodies.block, chunk, context);
console.log( output ); // This will now show the rendered result of the block
return chunk;
}

关于javascript - 如何访问dust.js 中的 block 助手主体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19740435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com