javascript - 使用 #each 内置 Handlebars 帮助器迭代对象时如何引用值?

标签 javascript handlebars.js

我尝试从 JSON 响应生成表格

我知道如何访问 key 但我找不到获取值的方法

{{#each this}}
  {{@key}}
{{/each}}

每个键都是一行,值代表该行的内容(如下图所示)

回复如下:

这个:

{  
   "DistributedQueue-0":{  
      "MessagesCurrentCount":"0",
      "MessagesPendingCount":"0",
      "MessagesReceivedCount":"0",
      "MessagesHighCount":"0",
      "ConsumersCurrentCount":"0",
      "ConsumersHighCount":"0",
      "ConsumersTotalCount":"0"
   },
   "PatientNotificationQueue":{  
      "MessagesCurrentCount":"0",
      "MessagesPendingCount":"0",
      "MessagesReceivedCount":"0",
      "MessagesHighCount":"0",
      "ConsumersCurrentCount":"0",
      "ConsumersHighCount":"0",
      "ConsumersTotalCount":"0"
   },
   "Topic-0":{  
      "MessagesCurrentCount":"0",
      "MessagesPendingCount":"0",
      "MessagesReceivedCount":"0",
      "MessagesHighCount":"0",
      "ConsumersCurrentCount":"0",
      "ConsumersHighCount":"0",
      "ConsumersTotalCount":"0"
   }
}

enter image description here

最佳答案

每次迭代中元素的值可在 {{#each}} 等 block 内以 {{this}} 形式提供。所以

{{#each this}} 
 {{@key}} = {{this}} 
{{/each}}

在你的情况下,它会呈现类似的内容

KeyName: [object Object] 

因为 {{this}} 现在引用的是值,它本身就是一个对象。您知道如何使用 {{#each}} 迭代对象 - 您刚刚做到了。现在您只需要使用嵌套的 {{#each}} 循环即可! :)

{{#each this}}
  {{@key}}: 
    {{#each this}}
      {{@key}}: {{this}}
    {{/each}}
{{/each}}

演示:http://jsfiddle.net/f5feae43/2/

关于javascript - 使用 #each 内置 Handlebars 帮助器迭代对象时如何引用值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35575083/

相关文章:

backbone.js - Handlebars 模板 - if 语句中的 "tilde"

javascript - TypeError 应用带有上下文的预编译 Handlebars 模板

javascript - 使内容可编辑部分中的 h2 标签不可删除

javascript - 我如何在 JavaScript 中循环遍历 XML 节点?

javascript - 通过媒体查询 CSS 或重复模板中的内联背景图像实现响应式图像

ember.js - Typeahead 和 Ember.handlebars

node.js - Ghost帖子按标签名称过滤

javascript - 找到一个 <div> ,其中包含一个 <p> ,里面有给定的文本

javascript - 无法查看 label 标签内的 span 标签?

javascript - 为什么我的MYSQL UPDATE语句不会更新?