我可以使用具有不同部分的相同dust.js模块吗?

时间:2016-12-06 11:16:02

标签: javascript node.js dust.js

我试图使用dust.js模板功能来渲染一些HTML。我制作了一个模型,可以呈现一个按钮,并将href和文本视为部分。

{>"modules/Button/Button.tl"/}
        {<button_link}
            some url
        {/button_link}
        {<button_text}
            some text
        {/button_text}

技巧是我希望这段代码重复3次,因为我有3个不同的按钮。问题在于,当渲染时,Dust用最终的href和按钮填充所有部分。因此,所有3个按钮看起来都完全一样,而且这不是我想要的。

任何人都可以帮助我吗?如何多次渲染相同的模块。

PS:我可以制作一个可以同时渲染所有3个按钮的模块。但是我想稍后重用该模块来在另一个页面中呈现一个按钮。我想躲避这种解决方法。

1 个答案:

答案 0 :(得分:1)

您可以创建一个接受参数的部分(您正在调用的“模块”),然后您可以根据需要使用部分,使用不同的值:

{>"modules/Button/Button.tl" button_link="some/url" button_text="some text" /}

部分定义看起来像这样:

<a href=button_link class="button">{button_text}</a>

供参考:http://www.dustjs.com/guides/partials/http://www.dustjs.com/docs/syntax/#partial