块帮助器中Handlebars表达式的正确语法。具体来说{{#link-to}}

时间:2016-03-01 19:19:54

标签: ember.js handlebars.js htmlbars

使用对象属性作为把手表达式中的“链接到”或其他值的正确语法是什么?例如,我想使用{{page.slug}}

<ul class='main-menu'>
{{#each model as |page|}}
    <li>
        {{#link-to 'HERE'}}
            {{page.title}}
        {{/link-to}}
    </li>
{{/each}}
</ul>

此外,这可能是制作菜单的 hacky 方式,但更多的是关于我如何解决问题。

1 个答案:

答案 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对象中的属性名称