让`this`在组件的link-to helper中工作

时间:2015-08-26 01:18:27

标签: ember.js htmlbars

我有一个如此定义的组件:

<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的引用。我正在尝试查找有关如何传入ID使this正确引用ID的文档,但我无法找到它。任何建议,链接或解释都会有所帮助。

1 个答案:

答案 0 :(得分:2)

组件内部没有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>