Meteor/Iron 路由器上的动态路径
Dynamic pathFor on Meteor/Iron Router
我是 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})
}
});
这样,我可以在 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}}
我是 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})
}
});
这样,我可以在 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}}