emberjs - 组件的块参数

emberjs - block params for component

如果我这样声明一个组件:

<p>
  {{#x-autosuggest source=model destination=tags minChars=0}}
    <img src="img/small_avatar.png" title="{{name}}" class="avatar"/>
  {{/x-autosuggest}}
</p>

我希望 name 该字段来自我使用新块参数语法传递的上下文。我尝试了下面的代码示例,但上下文仍然是控制器的上下文,而不是我在组件的 hbs 文件中使用 yield 传递的参数。

<ul class='selections'>
  {{#each destination as |selection|}}
    <li class="selection">
      <a class="as-close" {{action "removeSelection" selection}}>x</a>
      {{yield selection}}
      {{displayHelper selection searchPath}}
    </li>
  {{/each}}
</ul>

如何传递 selection 参数以便我可以在原始代码片段中设置 name 属性?

我用这个 jsbin

重新创建了一个基本示例

您需要在使用组件的地方添加 as |name| 以获取产生的值。

<p>
  {{#x-autosuggest source=model destination=tags minChars=0 as |name|}}
    <img src="img/small_avatar.png" title="{{name}}" class="avatar"/>
  {{/x-autosuggest}}
</p>