【问题标题】:Handlebars JS access nested arrayHandlebars JS 访问嵌套数组
【发布时间】:2019-06-13 06:26:01
【问题描述】:

将一个数组嵌套在另一个数组中。

const data = [
    id: 1,
    plan_name: foo,
    description: foo bar,
    test: [{
           id: 44,
           activity_name: bar,
           comment: var
           },
           {
           id: 45,
           activity_name: var,
           comment: bar
           }],
    userId: 3
];

使用以下方法在视图模板中打印数据:

{{#each data}}
    <p>{{plan_name}}</p>
    <p>{{test}}</p>
{{/each}}

输出是:

p1
[object Object],[object Object]
p2
[object Object],[object Object],[object Object]
p3
[object Object],[object Object]

如何使用把手访问嵌套数组中的对象,以便为数据数组中的每个实例打印测试数组中的所有项目?

【问题讨论】:

  • Test 是一个包含多个对象的数组。编辑使其更清晰
  • 好的,在这种情况下试试我下面建议的代码。

标签: arrays foreach handlebars.js each


【解决方案1】:

您可以使用#with 把手来访问对象

{{#each data}}
    <p>{{plan_name}}</p>>
    {{#with test}}
        {{activity_name}}
        {{comment}}
    {{/with}}
{{/each}}

【讨论】:

  • 由于某种原因仍然得到相同的输出,感觉它应该可以工作
  • 现在获取此输出而不是 p1 &gt; p3 &gt; p3 &gt;
  • “test”是一个对象吗?如果是这样,它应该用大括号 {} 而不是 [] 括起来。如果它是一个数组或对象,那么每个对象都应该在大括号内,例如 test=[{id:1, ..}, {id:2,..}]。如果它是一个对象,那么上面的建议应该有效。
【解决方案2】:

试试这个:

{{#each data}}
    <p>{{plan_name}}</p>>
    {{#each test}}
        {{activity_name}}
        {{comment}}
    {{/each}}
{{/each}}

【讨论】:

  • 成功了,这实际上是我最初尝试的另一个结果,一路上一定有一些魔法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-27
  • 2018-09-26
  • 2020-04-25
  • 1970-01-01
  • 2021-04-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多