DustJS:通过助手渲染部分

DustJS: Render partial via a Helper

我正在尝试抽象一些代码,并想利用 dust.helpers 来呈现 parial。

我当前的设置:

{> "includes/components/link" /}

我的理想设置:

{@uiComponent name="link" /}

我的帮手:

dust.helpers.uiComponent = function (chunk, context, bodies, params) {
    return dust.render('includes/components/' + name, context, function (err, out) {
        chunk.end(out);
    });
};

我也尝试了一些其他的东西,但没有任何效果。

是的,我试着查看文档。 :(

如有任何建议,我们将不胜感激!

在 Dust 中,helpers return Chunks,所以你想使用 Chunk 方法 return 从你的 helper 而不是 dust.render

在这种情况下,您使用的是偏音,因此您需要 chunk.partial:

dust.helpers.uiComponent = function (chunk, context, bodies, params) {
  var name = context.resolve(params.name);
  return chunk.partial('includes/components/' + name, context, params);
};