【问题标题】:Kraken, Dust and Makara海妖、尘埃和马卡拉
【发布时间】:2014-12-16 04:07:03
【问题描述】:
<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} 动态获取键值。我可以知道该怎么做吗?

【问题讨论】:

  • 我正试图找出同样的事情。可能需要自定义 Dust 模板助手,因为 @pre 标记使用在构建时为每个语言环境预编译的模板。您可以在这里与团队一起跟踪我的问题:github.com/krakenjs/makara/issues/36

标签: dust.js kraken.js


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    检查这个:https://github.com/mikesparr/Kraken_Example_i18n_Helper
    您可以使用@bundleString 助手而不是@pre。 所以,你可以使用{@bundleString key="footer.{id}" bundle="your_data_properties_file name"}

    【讨论】:

      【解决方案3】:

      您可以使用 {@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>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-10-29
        • 2018-02-21
        • 2017-10-01
        • 2011-12-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多