1

从 couchdb 渲染附件名称,无需使用车把或 mustache 模板进行转换。

{
   "_id":"123",
   "_attachments":{
      "evil.jpg":{
         "content_type":"image/jpeg",
         "revpos":32,
         "digest":"md5-CKtT5WWRLkmGDD3/DhK6FQ==",
         "length":41915,
         "stub":true
      }
   }
}

我认为这是Getting key's in handlebar 的副本。

// based on the `#each` helper, requires jQuery (for jQuery.extend)
Handlebars.registerHelper('each_hash', function(context, options) {
    var fn = options.fn, inverse = options.inverse;
    var ret = "";

    if(typeof context === "object") {
        for(var key in context) {
            if(context.hasOwnProperty(key)) {
                // clone the context so it's not
                // modified by the template-engine when
                // setting "_key"
                var ctx = jQuery.extend(
                    {"_key":key},
                    context[key]);

                ret = ret + fn(ctx);
            }
        }
    } else {
        ret = inverse(this);
    }
    return ret;
});
4

1 回答 1

1

车把的开发人员正在讨论将其放入

如果您只想添加它,该助手无论如何都应该完成这项工作。您的模板将是这样的。

{{#each_hash _attachments}}
    {{_key}} - {{content_type}}
{{else}}
    You didn't pass in an object!
{{/each_hash}}

助手本质上只是遍历对象并即时进行转换。它遍历对象并将键添加为 _key 变量。您不必包含 else 语句,默认情况下它不会返回任何内容。

于 2012-09-21T04:59:59.743 回答