#each 部分和动态页面 handlebars/express

#each with partials and dynamic pages with handlebars/express

我正在尝试对 expressjs 项目执行带有部分的 foreach,但我没有得到

main.hbs

{{#each pages}}
   {{>this}}
{{/each}}

app.js

app.get('/',(req,res)=>{
   
  let pages = ['test1','teste2']
  res.render('index',{user:req.user,pages:pages})

})

然后给我看这条消息

错误:找不到部分内容

Handlebars documentation 指出 dynamic 部分需要用括号括起计算为部分名称的表达式。所以有人会认为 {{> (this) }} 就足够了。

但是,在我的实验中,我无法让它工作。在不深入研究源代码的情况下,我假设在这种情况下 this 的解析方式有一些特殊之处。因此,为了让它工作,我不得不使用 as 给我一个对每个页面名称的别名引用。我的模板变成了:

{{#each pages as |page|}}
   {{> (page) ..}}
{{/each}}

注意:.. 用于将 pages 的父对象设置为部分上下文。

我创建了一个fiddle供参考。

谢谢你我的朋友!!!现在可以使用了!!!