Kraken,Dust和Makara

时间:2014-04-07 21:18:48

标签: dust.js kraken.js

<span id='sitemap'> 
    {#footer.sitemaps}
    <a id="{id}" href="{url}">{@pre type="content" mode="json" key="footer.{id}"/}</a>
            {/footer.sitemaps}
</span>

在代码中,{id}footer.sitemaps中一个元素的属性。我希望Makara使用{id}动态获取键值。我可以知道怎么做吗?

3 个答案:

答案 0 :(得分:2)

请参阅有关此makara问题的讨论:https://github.com/krakenjs/makara/issues/36

答案 1 :(得分:1)

检查:https://github.com/mikesparr/Kraken_Example_i18n_Helper
您可以使用@bundleString帮助程序而不是@pre。 因此,您可以使用{@bundleString key="footer.{id}" bundle="your_data_properties_file name"}

之类的内容

答案 2 :(得分:0)

您可以使用{@provide}标记来完成此操作。以下是使用您的示例:

{@provide}
    {#footer.sitemaps}
        <a id="{id}" href="{url}">{footerMap[id]}</a>
    {/footer.sitemaps}
{:footerMap}
    {@pre type="content" mode="json" key="footer"/}
{/provide}

如果您的属性文件看起来像

footer.key1=SomeVal
footer.key2=AnotherVal

并且您的footer.sitemaps数据对象看起来像

{
    id: 'key1',
    href: 'http://my/url
}

运行此结果将是

<a id="key1" href="http://my/url">SomeVal</a>