如何在HandleBars.net中显示属性/键名

时间:2016-04-25 13:48:10

标签: .net c#-4.0 handlebars.js handlebars.net

嗨,此代码适用于Handlebar.js。我该怎么做才能通过c#/ HandleBars.net显示密钥/属性?

 {{#each myObject}}
    {{#if this.length}}
    <b>{{@key}}</b>
    {{#each this}}
    <li>{{this}}</li>
    {{/each}}
    <br>
    {{/if}}
    {{/each}}

2 个答案:

答案 0 :(得分:1)

更新5/14/16

Handlebars.Net的

版本 1.6.6 包含2项更改:

  • 成员解析不区分大小写(许多开发人员对{{length}}{{Length}}无法解决同一事情感到惊讶)
    • (如果匹配模糊不清 - 即Lengthlength都存在于对象上,则活页夹将更喜欢完全匹配。
  • this现在可用于成员路径,例如this.length

原始答案

过去几天我们遇到了一些涉及区分大小写和成员解决方案的问题。你是对的,这个模板应该像你一样工作;我们正在努力解决这个问题。

与此同时,如果您将{{#if this.length}}更改为{{#if Length}},它将按您的预期运作。

答案 1 :(得分:0)

var htmlTemplateStr = //Open a resource or file containing your HTML template,
                      // and load it into this string

var LoadedTemplate = Handlebars.Compile(htmlTemplateStr);

var contextJson = //create a JSON object that will hold all the variables your 
                  // template will be looking for

var outputHtml = LoadedTemplate(contextJson);

修改

您的Key数组将是JSON对象的JSON数组成员。要显示它,您需要将每个块的HandleBars添加到您的html模板中。它看起来像这样:

{{#each Key}}
    <!-- HTML to display whatever is in each object in the Key array -->
{{/each}}