Могу ли я использовать один и тот же модуль 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 заполняет все части финальной линией и кнопкой. Так что все 3 кнопки будут выглядеть одинаково, и это не то, что я хочу.
Может кто-нибудь мне помочь? Как сделать один и тот же модуль несколько раз.
PS: я мог бы просто сделать модуль, который рендерит все 3 кнопки одновременно. Но позже я захотел повторно использовать этот модуль, чтобы отобразить одну кнопку на другой странице. Я хотел избежать этого обходного пути.
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/