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


brands.list:列出所有笔记本电脑品牌(例如AppleAcer等);
brands.single:列出所有x品牌的笔记本电脑(例如Macbook ProMacbook Air等);
product.single:显示所选产品。


我想使用相同的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})
  }
});


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

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

最佳答案

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

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

关于javascript - meteor /铁路由器上的动态路径,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37257149/

10-10 09:28