使用对象属性作为把手表达式中的“链接到”或其他值的正确语法是什么?例如,我想使用{{page.slug}}
<ul class='main-menu'>
{{#each model as |page|}}
<li>
{{#link-to 'HERE'}}
{{page.title}}
{{/link-to}}
</li>
{{/each}}
</ul>
此外,这可能是制作菜单的 hacky 方式,但更多的是关于我如何解决问题。
答案 0 :(得分:1)
link-to
的语法是:
{{link-to ROUTE_NAME (dynamic-segment OR model)}}
所以你可以做的是将slug作为第二个参数传递:
{{link-to 'page' page.slug}}
这将调用model
路径中的page
挂钩,将params
对象中的子句传递给
model(params) {
console.log(params.slug); // logs your slug
}
此外,您需要在路由器中指定路线的动态段:
Router.map(function() {
this.route('page', { path: '/:slug' });
});
但是,您在路由器中命名动态段(在本例中为'slug'
),将是传递给模型的params
对象中的属性名称