1

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

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

此外,这可能是制作菜单的一种hacky方式,但更多的是关于我是如何提出这个问题的。

4

1 回答 1

1

的语法link-to是:

{{link-to ROUTE_NAME (dynamic-segment OR model)}}

所以你可以做的就是将 slug 作为第二个参数传递:

{{link-to 'page' page.slug}}

它将model在您的路线内调用钩子page,将 slug 传递给params对象:

model(params) {
  console.log(params.slug); // logs your slug
}

此外,您需要在路由器中指定路由的动态段:

Router.map(function() {
  this.route('page', { path: '/:slug' });
});

但是,您在路由器中命名动态段(在这种情况下'slug'),将是params传递给模型的对象中的属性名称

于 2016-03-01T19:27:40.880 回答