Meteor/Iron 路由器上的动态路径

Dynamic pathFor on Meteor/Iron Router

我是 Meteor 的新手,我正在尝试为 pathFor 创建一个动态值。例如,假设我有以下路线:

我想使用相同的 list 模板列出所有笔记本电脑 brandsproducts:

{{#each lists}}
  <li><a href="{{pathFor route=listUrl}}">{{title}}</a></li>
{{/each}}

起初,我以为我可以传递一个 listUrl 值并将其设置为数据上下文中的正确路径,如下所示:

this.layout('AppLayout', {
  data: {
    listUrl: 'product.single',
    lists: Products.find({brand: this.params.slug})
  }
});

这样,我可以在 brands.list 路由中将 listUrl 作为 brands.single 传递,或者在 brands.single 路由中作为 product.single 传递。

但是,它不起作用。关于如何解决这个问题的任何想法?

当您执行 {{#each lists}} 时,将尝试在 lists 的每个项目的上下文中找到 listUrl 值。 因此,您可以将 listUrl 变量放在列表中的每个项目中,或者像这样访问父上下文:

{{#each lists}}
  <li><a href="{{pathFor route=../listUrl}}">{{title}}</a></li>
{{/each}}