Заставить `this` работать в помощнике компонента link-to

У меня есть компонент, определенный так:

<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}}

Я вроде случайно получил link-to помощник для работы, передав в id=game.id как собственность. Однако, если я удаляю это, ссылка теряет ссылку на идентификатор. Я пытаюсь найти документацию о том, как передача в id делает this ссылаться на идентификатор правильно, но я не могу его найти. Любые предложения, ссылки или объяснения будут полезны.

1 ответ

Решение

Здесь нет 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>
Другие вопросы по тегам