1

嗨,这段代码非常适合 Handlebar.js。我应该怎么做才能通过 c#/HandleBars.net 显示键/属性?

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

2 回答 2

1

2016 年 5 月 14 日更新

Handlebars.Net 1.6.6版包括 2 处更改:

  • 成员解析不区分大小写(许多开发人员对此感到惊讶{{length}}并且{{Length}}无法解决相同的问题)
    • (如果存在模棱两可的匹配 - 即Length两者length都存在于对象上,则活页夹将更喜欢精确匹配)
  • this现在可以在成员路径中使用,例如this.length

原始答案

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

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

于 2016-05-12T21:14:12.667 回答
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}}
于 2016-04-25T15:27:29.470 回答