嵌套{{#each}}不起作用

时间:2017-10-09 23:36:42

标签: javascript handlebars.js templating

我的JavaScript中有以下数组:

let food = [
    'taco',
    'burrito',
    'hamburger',
  ]

let drinks = [
    'water',
    'milk',
    'soda',
  ]

我将这些传递给我的Handlebars模板,我这样做:

{{#each food as |food|}}
  {{food}}
  {{#each drinks as |drink|}}
    {{drink}}
  {{/each}}
{{/each}}

但它只打印出来

taco burrito hamburger

我希望输出是这样的(分为新的易读性)

taco
water
milk
soda
burrito
water
milk
soda
hamburger
water
milk
soda

它似乎完全忽略了嵌套的每个循环。这有什么不对?

1 个答案:

答案 0 :(得分:4)

这是一个背景问题。内部each位于外部drinks的上下文中,但未定义{{#each food as |food|}} {{food}} {{#each ../drinks as |drink|}} {{drink}} {{/each}} {{/each}}

以下是工作模板的示例;

../

在这里,我们使用drinks回溯到父上下文,其中定义了quit