让 `this` 在 link 中工作 - 组件的助手

Getting `this` to work in link-to helper of component

我有一个这样定义的组件:

<div class="col-sm-4 col-md-2">
  <div class="thumbnail">
    <img src="assets/images/{{image}}">
    <div class="caption">
      <h5>{{#link-to 'games.game' this}}{{title}}{{/link-to}}</h5>
    </div>
  </div>
</div>

我是这样使用它的:

{{#each model as |game|}}
  {{game-details-small title=game.title image=game.image id=game.id}}
{{/each}}

我有点意外地通过将 id=game.id 作为 属性 传递给 link-to 助手来工作。但是,如果我删除 link 丢失对 id 的引用。我试图找到有关传递 id 如何使 this 正确引用 id 的文档,但我找不到它。任何建议、link 或解释都会有所帮助。

组件内部没有this,你必须传递上下文,在你的情况下你会传递game:

{{#each model as |game|}}
  {{game-details-small model=game}}
{{/each}}

模板变为:

<div class="col-sm-4 col-md-2">
  <div class="thumbnail">
    <img src="assets/images/{{model.image}}">
    <div class="caption">
      <h5>{{link-to model.title 'games.game' model.id}}</h5>
    </div>
  </div>
</div>