json - 抓取键值并将其添加到循环中

时间:2014-06-05 23:31:08

标签: jquery json dust.js

抱歉糟糕的头衔。我完全不知道如何做到这一点。我正在使用灰尘进行模板化(效果很好)但灰尘不接受冒号(:)作为关键名称。因此,我试图以某种方式仍然使用冒号(用户:描述)获取一个键,并在我循环通过我的灰尘模板时将其插入。但是,下面的代码将所有值都放入每个div中(见下文)。如何使这个工作成为每个循环(或div创建)输入“user:description”值一次?我一直在敲打几个小时。任何帮助表示赞赏

var compiled = dust.compile($('.media-gallery').html(), "blocks");
var items = [];
dust.loadSource(compiled);

        $.getJSON("services/mediaType.json", function(data) {
            $.each( data.results, function( key, val ) {
                items.push("<div class='" + key + "'>" + val['user:description'] + "</div>");     
                dust.render("blocks", val, function(err, out) {
                    $('.media-filter').append(out);
                });                                        
            });
        $(".resource-description").append(items.join(""));
        });

HTML with Dust

<div class="media-gallery">        
    <h6>{pageTitle}</h6>
    <p class="content-type">{mediaType}</p>      
    <p class="resource-description"></p>
</div>   

典型输出

<div class="media-gallery">        
    <h6>Dog Images</h6>
    <p class="content-type">image</p>      
    <p class="resource-description">
        <div class="0">cats description</div>
        <div class="1">mouse description</div>
        <div class="2">dog description</div>
    </p>
</div> 

1 个答案:

答案 0 :(得分:1)

除非您编写自定义帮助程序或将模型更改为不包含以下内容,否则您运气不佳:&#39; s。这个问题存在一个悬而未决的问题。 https://github.com/linkedin/dustjs/issues/229