我是Meteor的新手,正在尝试为pathFor
创建一个动态值。例如,假设我有以下路线:brands.list
:列出所有笔记本电脑品牌(例如Apple
,Acer
等);brands.single
:列出所有x
品牌的笔记本电脑(例如Macbook Pro
,Macbook Air
等);product.single
:显示所选产品。
我想使用相同的list
模板列出所有笔记本电脑brands
和products
:
{{#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.single
在brands.list
路径中传递,或者作为product.single
在brands.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/