【问题标题】:Iterate through keys/values in Hogan.js遍历 Hogan.js 中的键/值
【发布时间】:2012-03-25 22:31:17
【问题描述】:

有没有办法使用 Hogan.js 遍历对象中的键和值?我无法找到这种记录在案的功能 - 似乎只记录了对数组的迭代。是否可以遍历 hogan.js(或任何其他 moustache.js 实现)中的对象?

【问题讨论】:

    标签: javascript templating hogan.js


    【解决方案1】:

    在 Hogan.js 中无法直接迭代对象中的键和值,sub_stantial 所做的基本上是迭代数组。

    根据您想要做什么,您需要一些预渲染代码。假设您有一个对象 o,它是 { k1: "v1", k2: "v2" }。而你希望你的渲染模板是k1 has value v1; k2 has value v2;,你只需要这个(_ 是underscore 库):

    var oAsList = [];
    _.each(_.keys(oAsList), function (k) {
      oAsList.push({ key: k, value: o[k] });
    })
    

    做到这一点的 Mustache 模板是
    {{#oAsList}} {{key}} has value {{value}}; {{/oAsList}}

    【讨论】:

      【解决方案2】:

      我昨天也遇到了同样的情况,经过Hogan.jsMustache.js的一些研究,我找到了这个解决方案:

      var data = { 'list' : [{ 'name' : 'dhg'}, {'name' : 'abc'}] };
      var template = Hogan.compile("{{#list}} {{name}} {{/list}}");
      var output = template.render(data);
      console.log(output);
      

      你可以在这里看到它的实际效果:http://jsfiddle.net/LuD6j/1/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-11-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-17
        • 1970-01-01
        • 2017-08-30
        • 2019-05-06
        相关资源
        最近更新 更多